source: trunk/mediafolder/makefile@ 148

Last change on this file since 148 was 148, checked in by gyoung, 21 months ago

Automate building of all def files. Some minor code and makefile cleanup

File size: 13.4 KB
Line 
1# Makefile mediafolder
2
3include ../make.inc
4
5CC = icc
6#CPPFLAGS = /Ge- /Gm+ /G4 /Gl /O+ /Oc+ /Ol- /Q+ $(VACDEBUG)
7CPPFLAGS = /G5 /Ge- /Gm+ /Gl- /Ga- /O+ /Ss /Oc+ /Ol- /Q+ /D$(ECS) $(VACDEBUG)
8
9
10LIBS = somtk.lib mmPM2.lib rexx.lib
11INC = ./include
12
13CMNINC = $(COMMONSRC)/include
14CLSINC = $(COMMONSRC)/../classes/include
15
16HELPERDIR = ./c/helper
17DEFS =
18PROGS =
19CDIR = ./c
20IDLDIR = ../classes/idl
21
22
23#######################################
24#
25# Define compile command
26#
27#######################################
28COMPILE = $(CC) $(CPPFLAGS) /C+ -I$(INC) -I$(CMNINC) -I$(CLSINC) /Fo$@ $<
29
30#######################################
31#
32# Define objects
33#
34#######################################
35OBJDIR = ./obj
36
37# Mediafolder objects
38MFLDROBJDIR = ./obj
39MFLDROBJS = $(MFLDROBJDIR)/mediafolder.obj \
40 $(MFLDROBJDIR)/mediafolderoverridenwpmethods.obj \
41 $(MFLDROBJDIR)/mediafolderoverridenwpclsmethods.obj \
42 $(MFLDROBJDIR)/mediadialogprocs.obj
43
44# CD-folder objects
45CDFLDROBJDIR = ./obj
46CDFLDROBJS = $(CDFLDROBJDIR)/cdfolder.obj $(CDFLDROBJDIR)/cdfolderoverriddenwpmethods.obj \
47 $(CDFLDROBJDIR)/cdfolderoverriddenwpclsmethods.obj \
48 $(CDFLDROBJDIR)/cdfldrdialogprocs.obj
49
50# M3ufolder objects
51M3UFLDROBJDIR = ./obj
52M3UFLDROBJS = $(M3UFLDROBJDIR)/m3ufolderoverriddenwpmethods.obj \
53 $(M3UFLDROBJDIR)/m3ufolderoverriddenwpclsmethods.obj
54
55#Audio shadow objects
56AUDSHWOBJDIR = ./obj
57AUDSHWOBJS = $(AUDSHWOBJDIR)/audioshadowoverridenwpmethods.obj \
58 $(AUDSHWOBJDIR)/audioshadowoverridenwpclsmethods.obj \
59
60# Common functions used for Media folder and the classes
61LIBDIR = ./lib
62LIBOBJS = $(LIBDIR)/sys_funcs.obj $(LIBDIR)/menu_funcs.obj
63
64# Some helper functions not contained in common_funcs
65CMNOBJS = $(OBJDIR)/messagehelper.obj $(OBJDIR)/helper.obj $(OBJDIR)/windowhelper.obj \
66 $(OBJDIR)/somandwpshelper.obj $(OBJDIR)/customprocs.obj $(OBJDIR)/except.obj \
67 $(OBJDIR)/mediafldrrexx.obj $(OBJDIR)/launchpad.obj $(OBJDIR)/cd.obj
68
69OBJECTS = $(MFLDROBJS) $(CDFLDROBJS) $(M3UFLDROBJS) $(AUDSHWOBJS) $(LIBOBJS)\
70 $(CMNOBJS)
71
72#######################################
73#
74# Define Targets
75#
76#######################################
77all: mediafld.dll mfldr_en.dll mfldr_nl.dll mfldr_de.dll mfldr_it.dll \
78 ./help/mediafldr.hlp \
79 prog_tutorial\mediafldrprog.inf ./c/createcd/createcd.exe
80 cd ./c/cddb && make
81# cd ./progfolder && make
82 -cd ./help && make
83
84# NLV resource dll
85nlv:
86 -cd ./help && make
87 -cd ./res && make nlv
88 -cd ./prog_tutorial && ipfc -i mediafldrprog.ipf
89 cd ./c/cddb && make nlv
90
91#force a new build number whenever the mediafolder is rebuilt
92#build.h:
93# -cd ../. && make bld
94
95#######################################
96#
97# Compile
98#
99#######################################
100$(MFLDROBJDIR)/%.obj: $(CDIR)/mediafldr/%.cpp $(INC)\mediafolder.hh $(INC)\mediafolderinc.h $(INC)/cwaudio.hh $(INC)/cwmmdataf.hh
101 $(COMPILE)
102
103$(CDFLDROBJDIR)/%.obj: $(CDIR)/cdfldr/%.cpp $(INC)\cdfolder.hh $(INC)/cwcdtrack.hh
104 $(COMPILE)
105
106$(M3UFLDROBJDIR)/%.obj: $(CDIR)/m3ufolder/%.cpp $(INC)\m3ufolder.hh
107 $(COMPILE)
108
109$(AUDSHWOBJDIR)/%.obj: $(CDIR)/audioshadow/%.cpp $(INC)\audioshadow.hh
110 $(COMPILE)
111
112$(LIBDIR)/%.obj: $(COMMONSRC)/%.c
113 $(COMPILE)
114
115#except.c needs other compiler flags
116$(OBJDIR)/except.obj: $(HELPERDIR)/except.cpp
117 icc $(CPPFLAGS) /Sm /C+ -I$(INC) /Fo$@ $<
118
119$(OBJDIR)/%.obj: $(HELPERDIR)/%.cpp
120 $(COMPILE)
121
122$(HELPERDIR)/%.obj: ./helper/%.cpp $(INC)\mediafolder.hh
123 $(COMPILE)
124
125mediafld.dll: $(OBJECTS) $(INC)\mediafolderres.h ./res/mediafolder.res
126 -cd ../. && make bld
127 -cd ProgFolder && make
128 @create_mfldr_def.CMD mediafolder.def
129 implib /NOLOGO lib\progfldr.lib progfolder\progfolder.def
130 icc -Ge- /Q+ /D$(ECS) /Fe$@ /Fm$*.map $(OBJECTS) lib/progfldr.lib $(LIBS) mediafolder.def
131 rc ./res/mediafolder.res $@
132 MAPSYM $*.map
133
134mfldr_en.dll:
135 -cd ./res && make
136
137mfldr_de.dll:
138 -cd ./res && make
139
140mfldr_nl.dll:
141 -cd ./res && make
142
143mfldr_it.dll:
144 -cd ./res && make
145
146./res/mediafolder.res: ./res/mediafolder.rc ../build.inc
147 -cd ./res && make
148
149./c/createcd/createcd.exe: ./c/createcd/createcd.c
150 cd ./c/createcd && make
151
152
153prog_tutorial\mediafldrprog.inf: prog_tutorial\mediafldrprog.ipf
154 -cd ./prog_tutorial && make
155# -cd ./prog_tutorial && ipfc -i mediafldrprog.ipf
156
157./help/mediafldr.hlp: ./help/mediafldr.ipf ./help/mediafldr049.ipf \
158 ./help/mediafldr031.ipf ./help/mediafldr039.ipf
159 -cd ./help && make
160
161#######################################
162#
163# Create *.hh files from IDL files
164#
165#######################################
166$(INC)/cwaudio.hh: ../classes/idl/idl_audio/cwaudio.idl
167 sc -shh -S 100000 -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes -musexhpass $<
168
169$(INC)/cwcdtrack.hh: ../classes/idl/idl_audio/cwcdtrack.idl
170 sc -shh -S 100000 -I $(IDLDIR)/idl_audio -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes -musexhpass $<
171
172$(INC)/cwmmdataf.hh: ../classes/idl/idl_mm/cwmmdataf.idl
173 sc -shh -S 100000 -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes -musexhpass $<
174
175
176#######################################
177#
178# Clean directories
179#
180#######################################
181clean:
182 -rm *.obj
183 -rm *.dll
184 -rm *.hlp
185 -rm *.exe
186 -rm *.map
187 -rm *.sym
188 -rm *.def
189 -cd prog_tutorial && rm *.inf
190 -cd ./res && make clean
191 -cd ./obj && rm *.obj
192 -cd ./lib && rm *.obj
193 -cd ./c && make clean
194 -cd ./help && make clean
195 -rm mediafolder.def
196
197cleaner:
198 -rm *.*~
199 -rm *.flc
200 -cd ./c/helper && make cleaner
201 -cd ./res && make cleaner
202 -cd ./c && make cleaner
203 -cd ./include && rm *.*~
204 -cd ./help && make clean
205
206german:
207 -mkdir ..\..\$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger
208 -mkdir ..\..\$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger\bin
209 -mkdir ..\..\$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger\DLL
210 -mkdir ..\..\$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger\Doc
211 -mkdir ..\..\$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger\Skripte
212 -mkdir ..\..\$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger\FreeDB
213 -mkdir ..\..\$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger\FreeDB\logfiles
214 -mkdir ..\..\$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger\FreeDB\cddbdata
215 cp prog_tutorial/mediafldrprog.inf ../../$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger\Doc\mediafldr.inf
216 cp bin/*.cmd ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/bin/
217 cp bin/*.rx ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/bin/
218 cp bin/*.dll ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/dll/
219 cp ./c/createcd/createcd.exe ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/bin/
220 cp ./mediafld.dll ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/bin/mediafld.dll
221 cp ./res/obj/mfldr_de.dll ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/bin/mfldr_de.dll
222 cp ./help/mediafldr049.hlp ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/bin/mediafld.hlp
223 cp ./install/MFLDRGER.ins ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/MFLDRGER.INS
224 cp ./c/cddb/pmcddb.exe ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/FreeDB/
225 cp ./c/cddb/Res/pmcddb049.dll ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/FreeDB/pmdb049.dll
226 cp ./c/cddb/cddb.ini ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/FreeDB/
227 cp ./install/freedbgr.ins ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/FreeDB/
228 cp Skripte_ger/* ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/Skripte/
229 -cd ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/bin && lxlite *
230 -cd ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/DLL && lxlite *
231 -cd ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/FreeDB && lxlite *
232
233done:
234 -cp doc/Readme.ger ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/
235 -cp doc/FILE_ID.DIZ ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/
236 -cp doc/Lizenz ../../$(PKGNAME)-$(VERSION)-ger/CWMFldr-$(VERSION)-ger/
237
238english:
239 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng
240 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\bin
241 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\DLL
242 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\Doc
243 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\Skripte
244 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\FreeDB
245 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\FreeDB\logfiles
246 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\FreeDB\cddbdata
247 cp prog_tutorial/mediafldrprog.inf ../../$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\Doc\mediafldr.inf
248 cp bin/*.cmd ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/
249 cp bin/*.rx ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/
250 cp bin/*.dll ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/dll/
251 cp ./c/createcd/createcd.exe ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/
252 cp ./mediafld.dll ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/mediafld.dll
253 cp ./res/obj/mfldr_en.dll ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/mfldr_en.dll
254 cp ./help/mediafldr.hlp ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/mediafld.hlp
255 cp ./install/MEDIAFLD.ins ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/MEDIAFLD.INS
256 cp ./c/cddb/pmcddb.exe ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB/
257 cp ./c/cddb/Res/pmcddb001.dll ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB/pmdb001.dll
258 cp ./c/cddb/cddb.ini ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB/
259 cp ./install/freedb.ins ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB/
260 cp Skripte_eng/* ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/Skripte/
261 -cd ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin && lxlite *
262 -cd ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/DLL && lxlite *
263 -cd ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB && lxlite *
264
265oldEnglish:
266 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng
267 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\bin
268 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\DLL
269 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\Doc
270 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\Skripte
271 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\FreeDB
272 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\FreeDB\logfiles
273 -mkdir ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\FreeDB\cddbdata
274 -cp prog_tutorial\mediafldrprog.inf ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\Doc\mediafldr.inf
275 -cp doc/Readme.eng ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/
276 -cp doc/FILE_ID.DIZ ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/
277 -cp doc/License ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/
278 -cp bin/*.cmd ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/
279 -cp bin/*.rx ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/
280 -cp bin/*.dll ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/dll/
281 -cp Skripte_eng/* ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/Skripte/
282 -cp ./help/mediafldr.hlp ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/mediafld.hlp
283 -cp ./mediafld.dll ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/mediafld.dll
284 -cp ./mediafolder001.dll ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/media001.dll
285 -cp ./install/MEDIAFLD.INS ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/
286 -cp ./install/createcd.exe ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin
287 -cp cddb/pmcddb.exe ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB/
288 -cp cddb/Res/pmcddb001.dll ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB/pmdb001.dll
289 -cp cddb/cddb.ini ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB/
290 -cp install/freedb.ins ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB/
291 -cd ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin && lxlite *
292 -cd ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/DLL && lxlite *
293 -cd ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/FreeDB && lxlite *
294
295distribution:
296# make all
297 make english
298 make german
299
300ecsdisteng:
301 @echo '[32;1;m******* Packaging Media Folder... *******[0;m'
302 -mkdir ..\..\$(ECSBASE)-eng\$(ECSMFLDRDIR)
303 -mkdir ..\..\$(ECSBASE)-eng\$(ECSMFLDRDIR)\bin
304 -mkdir ..\..\$(ECSBASE)-eng\$(ECSMFLDRDIR)\Doc
305 -mkdir ..\..\$(ECSBASE)-eng\FreeDB
306 -mkdir ..\..\$(ECSBASE)-eng\FreeDB\logfiles
307 -mkdir ..\..\$(ECSBASE)-eng\FreeDB\cddbdata
308 -cp prog_tutorial/mediafldrprog.inf ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/Doc/mediafldr.inf
309 -cp bin/*.cmd ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/bin/
310 -cp bin/*.rx ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/bin/
311 -cp bin/progfldr.dll ../../$(ECSBASE)-eng/dll/
312 -cp ./help/mediafldr.hlp ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/bin/mediafld.hlp
313 -cp ./mediafld.dll ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/bin/mediafld.dll
314 -cp ./mediafolder001.dll ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/bin/media001.dll
315 -cp ./install/createcd.exe ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/bin
316 -cd ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/bin && lxlite *
317#FreeDB client
318 -cp cddb/pmcddb.exe ../../$(ECSBASE)-eng/FreeDB/
319 -cp cddb/Res/pmcddb001.dll ../../$(ECSBASE)-eng/FreeDB/pmdb001.dll
320 -cp cddb/cddb.ini ../../$(ECSBASE)-eng/FreeDB/
321 -cd ../../$(ECSBASE)-eng/FreeDB && lxlite *
322
323
324ecsdistribution:
325 cd cddb && make
326 make ecsdisteng
327
Note: See TracBrowser for help on using the repository browser.