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
RevLine 
[2]1# Makefile mediafolder
2
3include ../make.inc
4
5CC = icc
6#CPPFLAGS = /Ge- /Gm+ /G4 /Gl /O+ /Oc+ /Ol- /Q+ $(VACDEBUG)
[104]7CPPFLAGS = /G5 /Ge- /Gm+ /Gl- /Ga- /O+ /Ss /Oc+ /Ol- /Q+ /D$(ECS) $(VACDEBUG)
[2]8
9
[104]10LIBS = somtk.lib mmPM2.lib rexx.lib
[2]11INC = ./include
12
13CMNINC = $(COMMONSRC)/include
[133]14CLSINC = $(COMMONSRC)/../classes/include
[2]15
16HELPERDIR = ./c/helper
[104]17DEFS =
18PROGS =
[2]19CDIR = ./c
20IDLDIR = ../classes/idl
21
22
23#######################################
24#
25# Define compile command
26#
27#######################################
[133]28COMPILE = $(CC) $(CPPFLAGS) /C+ -I$(INC) -I$(CMNINC) -I$(CLSINC) /Fo$@ $<
[2]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#######################################
[104]77all: mediafld.dll mfldr_en.dll mfldr_nl.dll mfldr_de.dll mfldr_it.dll \
[2]78 ./help/mediafldr.hlp \
79 prog_tutorial\mediafldrprog.inf ./c/createcd/createcd.exe
80 cd ./c/cddb && make
[148]81# cd ./progfolder && make
[2]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#
[104]97# Compile
[2]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
[104]120 $(COMPILE)
[2]121
122$(HELPERDIR)/%.obj: ./helper/%.cpp $(INC)\mediafolder.hh
123 $(COMPILE)
124
[148]125mediafld.dll: $(OBJECTS) $(INC)\mediafolderres.h ./res/mediafolder.res
[2]126 -cd ../. && make bld
[148]127 -cd ProgFolder && make
128 @create_mfldr_def.CMD mediafolder.def
[53]129 implib /NOLOGO lib\progfldr.lib progfolder\progfolder.def
[104]130 icc -Ge- /Q+ /D$(ECS) /Fe$@ /Fm$*.map $(OBJECTS) lib/progfldr.lib $(LIBS) mediafolder.def
131 rc ./res/mediafolder.res $@
132 MAPSYM $*.map
[2]133
[104]134mfldr_en.dll:
[2]135 -cd ./res && make
136
[104]137mfldr_de.dll:
[2]138 -cd ./res && make
139
[104]140mfldr_nl.dll:
[2]141 -cd ./res && make
142
[104]143mfldr_it.dll:
[2]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
[133]167 sc -shh -S 100000 -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes -musexhpass $<
[2]168
169$(INC)/cwcdtrack.hh: ../classes/idl/idl_audio/cwcdtrack.idl
[133]170 sc -shh -S 100000 -I $(IDLDIR)/idl_audio -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes -musexhpass $<
[2]171
172$(INC)/cwmmdataf.hh: ../classes/idl/idl_mm/cwmmdataf.idl
[133]173 sc -shh -S 100000 -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes -musexhpass $<
[2]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
[148]188 -rm *.def
[2]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
[104]215 cp prog_tutorial/mediafldrprog.inf ../../$(PKGNAME)-$(VERSION)-ger\CWMFldr-$(VERSION)-ger\Doc\mediafldr.inf
[2]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/
[104]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
[2]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/
[3]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 *
[2]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
[104]247 cp prog_tutorial/mediafldrprog.inf ../../$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\Doc\mediafldr.inf
[2]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/
[104]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
[2]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
[104]274 -cp prog_tutorial\mediafldrprog.inf ..\..\$(PKGNAME)-$(VERSION)-eng\CWMFldr-$(VERSION)-eng\Doc\mediafldr.inf
[2]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
[104]283 -cp ./mediafld.dll ../../$(PKGNAME)-$(VERSION)-eng/CWMFldr-$(VERSION)-eng/bin/mediafld.dll
[2]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
[104]308 -cp prog_tutorial/mediafldrprog.inf ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/Doc/mediafldr.inf
[2]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
[104]313 -cp ./mediafld.dll ../../$(ECSBASE)-eng/$(ECSMFLDRDIR)/bin/mediafld.dll
[2]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.