source: branches/v2.9/classes/makefile@ 35

Last change on this file since 35 was 35, checked in by dryeo, 5 years ago

Fix compiling of new NLS files, Spanish and French

File size: 8.6 KB
Line 
1# Makefile
2
3include ../make.inc
4
5DISTNAME = cwaudio-classes-$(VERSION)
6CC = icc
7
8LDFLAGS = -Ge- /Gm+ -G4 /Ss -Gl /O+ -Oc+ -Ol- /Q+
9#-Wcnd /Weff /Wini /Wpar /Wpro /Wuse /Wrea
10#CFLAGS = /Wuse /Wrea -Ge- /Gm+ -G4 /Ss -Gl /O+ -Oc+ -Ol- /Q+ /C
11CFLAGS = -Ge- /Gm+ -G4 /Ss -Gl /O+ -Oc+ -Ol- /Q+ /C
12
13LIBS = somtk.lib mmPM2.lib rexx.lib
14DEFS =
15
16MOREINC = ./include -I./inc -I../common_functions/include
17CDIR = ./c
18IDLDIR = ./idl
19OBJDIR = ./obj
20# Object files of common functions are going here
21LIBDIR = ./lib
22#Where the resource dlls are going
23RESDLLDIR = ./RES/dll
24
25
26#######################################
27#
28# Define compile command
29#
30#######################################
31COMPILE = $(CC) -I $(MOREINC) $(CFLAGS) /Fo$@ $<
32
33#Audio classes
34AUD_SCCOMPILEC = sc -I $(IDLDIR)/idl_audio -I $(IDLDIR)/idl_mm -p -r -sc -d$(CDIR)/c_audio -maddstar -mnoint -S128000 -C128000 $<
35AUD_SCCOMPILEIH = sc -I $(IDLDIR)/idl_audio -I $(IDLDIR)/idl_mm -p -r -sih";"h -dinclude -maddstar -mnoint -S128000 -C128000 $<
36
37#Video
38VID_SCCOMPILEC = sc -I $(IDLDIR)/idl_video -p -r -sc -d$(CDIR)/c_video -maddstar -mnoint -S128000 -C128000 $<
39VID_SCCOMPILEIH = sc -I $(IDLDIR)/idl_video -p -r -sih";"h -dinclude -maddstar -mnoint -S128000 -C128000 $<
40
41#image
42IMG_SCCOMPILEC = sc -I $(IDLDIR)/idl_image -p -r -sc -d$(CDIR)/c_image -maddstar -mnoint -S128000 -C128000 $<
43IMG_SCCOMPILEIH = sc -I $(IDLDIR)/idl_image -p -r -sih";"h -dinclude -maddstar -mnoint -S128000 -C128000 $<
44
45#base classes
46MM_SCCOMPILEC = sc -I $(IDLDIR)/idl_mm -p -r -sc -d$(CDIR)/c_mm -maddstar -mnoint -S128000 -C128000 $<
47MM_SCCOMPILEIH = sc -I $(IDLDIR)/idl_mm -p -r -sih";"h -dinclude -maddstar -mnoint -S128000 -C128000 $<
48
49
50
51#######################################
52#
53# Define objects to build
54#
55#######################################
56
57# These are the object files containing general functions
58LIBOBJS = $(LIBDIR)/menu_funcs.obj \
59 $(LIBDIR)/message.obj \
60 $(LIBDIR)/ea_funcs.obj \
61 $(LIBDIR)/som_wps_funcs.obj \
62 $(LIBDIR)/sys_funcs.obj
63
64#Audio objects
65OBJECTS = $(OBJDIR)/cwmp3.obj \
66 $(OBJDIR)/cwogg.obj \
67 $(OBJDIR)/cwcdtrack.obj \
68 $(OBJDIR)/cwaudio.obj \
69 $(OBJDIR)/mmwav.obj \
70 $(OBJDIR)/cwaif.obj \
71 $(OBJDIR)/cwau.obj \
72 $(OBJDIR)/cw_au.obj \
73 $(OBJDIR)/cwiff.obj \
74 $(OBJDIR)/cwsndf.obj \
75 $(OBJDIR)/cwvoc.obj \
76 $(OBJDIR)/cwmidi.obj \
77 $(OBJDIR)/cwastream.obj \
78 $(OBJDIR)/cwm3u.obj \
79 $(OBJDIR)/cwflac.obj
80
81VID_OBJECTS = $(OBJDIR)/cwvideo.obj \
82 $(OBJDIR)/cwmpg.obj \
83 $(OBJDIR)/cwmov.obj \
84 $(OBJDIR)/cwfli.obj \
85 $(OBJDIR)/cwavi.obj
86
87IMG_OBJECTS = $(OBJDIR)/cwimage.obj \
88 $(OBJDIR)/cwavc.obj \
89 $(OBJDIR)/cwdib.obj \
90 $(OBJDIR)/cwgif.obj \
91 $(OBJDIR)/cwjpg.obj \
92 $(OBJDIR)/cwpcd.obj \
93 $(OBJDIR)/cwpcx.obj \
94 $(OBJDIR)/cwtga.obj \
95 $(OBJDIR)/cwtiff.obj \
96 $(OBJDIR)/cwmmotion.obj \
97 $(OBJDIR)/cwbmp.obj \
98 $(OBJDIR)/bitmap.obj \
99 $(OBJDIR)/cwpng.obj
100
101MM_OBJECTS = $(OBJDIR)/cwmmdataf.obj \
102 $(OBJDIR)/cwmmdisk.obj \
103 $(OBJDIR)/mmfolder.obj
104
105COMMON_OBJECTS = $(OBJDIR)/except.obj \
106 $(OBJDIR)/message.obj \
107 $(OBJDIR)/cd.obj \
108 $(OBJDIR)/mmrexx.obj \
109 $(OBJDIR)/helper.obj \
110 $(OBJDIR)/som_and_wps.obj
111
112ALL_OBJECTS = $(MM_OBJECTS) $(OBJECTS) $(VID_OBJECTS) $(IMG_OBJECTS) \
113 $(COMMON_OBJECTS) $(LIBOBJS)
114
115
116HLP_FILES = ./Help/de/cwmm049.hlp \
117 ./Help/en/cwmm.hlp \
118 ./Help/es/cwmm034.hlp \
119 ./Help/fr/cwmm033.hlp \
120 ./Help/nl/cwmm031.hlp \
121 ./Help/it/cwmm039.hlp \
122 ./Help/tw/cwmm088.hlp
123
124
125#######################################
126#
127# Define *.ih files.
128#
129#######################################
130MM_IHFILES = ./include/cwmmdataf.ih ./include/cwmmdisk.ih ./include/mmfolder.ih
131
132IHFILES = ./include/cwmp3.ih \
133 ./include/cwogg.ih \
134 ./include/cwaudio.ih \
135 ./include/cwcdtrack.ih \
136 ./include/mmwav.ih \
137 ./include/cwaif.ih \
138 ./include/cwau.ih \
139 ./include/cw_au.ih \
140 ./include/cwiff.ih \
141 ./include/cwsndf.ih \
142 ./include/cwvoc.ih \
143 ./include/cwastream.ih \
144 ./include/cwmidi.ih \
145 ./include/cwm3u.ih \
146 ./include/cwflac.ih
147
148VID_IHFILES = ./include/cwvideo.ih \
149 ./include/cwmpg.ih \
150 ./include/cwmov.ih \
151 ./include/cwfli.ih \
152 ./include/cwavi.ih
153
154IMG_IHFILES = ./include/wpimage.ih \
155 ./include/cwimage.ih \
156 ./include/cwavc.ih \
157 ./include/cwdib.ih \
158 ./include/cwgif.ih \
159 ./include/cwjpg.ih \
160 ./include/cwpcd.ih \
161 ./include/cwpcx.ih \
162 ./include/cwtga.ih \
163 ./include/cwtiff.ih \
164 ./include/cwmmotion.ih \
165 ./include/cwbmp.ih \
166 ./include/cwpng.ih
167
168#######################################
169#
170# Define targets to build
171#
172#######################################
173all: cwmm.dll $(HLP_FILES)
174 cd ./mm-progs && make
175
176
177RESDLL :
178
179cwmm.dll: $(MM_IHFILES) $(IHFILES) $(VID_IHFILES) $(IMG_IHFILES) \
180 $(ALL_OBJECTS)
181 @create_cwmm_def.CMD ./c/cwmm.def
182 $(CC) $(LDFLAGS) /L /Fm$(basename $@) /Fe$@ $(ALL_OBJECTS) $(LIBS) ./c/cwmm.def
183#Add icons to DLL
184 cd ./res && make
185 rc ./res/common_res/cwaudio.res cwmm.dll
186 MAPSYM $(basename $@)
187
188###################################
189#
190# Rules for generating online help
191#
192###################################
193# German
194./Help/de/cwmm049.hlp: ./Help/de/cwmm049.ipf
195 cd ./Help/de && make
196
197# English
198./Help/en/cwmm.hlp: ./Help/en/cwmm.ipf
199 cd ./Help/en && make
200
201# Spanish
202./Help/es/cwmm034.hlp: ./Help/es/cwmm034.ipf
203 cd ./Help/es && make
204
205# French
206./Help/fr/cwmm033.hlp: ./Help/fr/cwmm033.ipf
207 cd ./Help/fr && make
208
209# Dutch
210./Help/nl/cwmm031.hlp: ./Help/nl/cwmm031.ipf
211 cd ./Help/nl && make
212
213# Italian
214./Help/it/cwmm039.hlp: ./Help/it/cwmm039.ipf
215 cd ./Help/it && make
216
217# Taiwan
218./Help/tw/cwmm088.hlp: ./Help/tw/cwmm088.ipf
219 cd ./Help/tw && make
220
221###################################
222#
223# Create all the *.ih files from the IDL files #
224#
225###################################
226
227##### Create *.ih files for base MM classes ####
228./include/%.ih: $(IDLDIR)/idl_mm/%.idl
229 $(MM_SCCOMPILEC)
230 $(MM_SCCOMPILEIH)
231
232#### Create *.ih files for audio classes ####
233./include/%.ih: $(IDLDIR)/idl_audio/%.idl
234 $(AUD_SCCOMPILEC)
235 $(AUD_SCCOMPILEIH)
236
237#### Create *.ih files for video classes ####
238./include/%.ih: $(IDLDIR)/idl_video/%.idl
239 $(VID_SCCOMPILEC)
240 $(VID_SCCOMPILEIH)
241
242#### Create *.ih files for image classes ####
243./include/wpimage.ih: $(IDLDIR)/idl_image/wpimage.idl
244 $(IMG_SCCOMPILEIH)
245
246./include/cwimage.ih: $(IDLDIR)/idl_image/cwimage.idl
247 $(IMG_SCCOMPILEIH)
248 $(IMG_SCCOMPILEC)
249 sc -shh -I $(IDLDIR)/idl_image -S128000 -dinclude -m noqualifytypes $<
250
251./include/%.ih: $(IDLDIR)/idl_image/%.idl
252 $(IMG_SCCOMPILEC)
253 $(IMG_SCCOMPILEIH)
254
255###################################
256#
257# Rules for compiling
258#
259###################################
260
261# Compile base MM classes
262$(OBJDIR)/%.obj: $(CDIR)/c_mm/%.c ./include/%.ih
263 $(COMPILE)
264
265# Compile audio MM classes
266$(OBJDIR)/%.obj: $(CDIR)/c_audio/%.c ./include/%.ih
267 $(COMPILE)
268
269# Compile video MM classes
270$(OBJDIR)/%.obj: $(CDIR)/c_video/%.c ./include/%.ih
271 $(COMPILE)
272
273# Compile image MM classes
274$(OBJDIR)/%.obj: $(CDIR)/c_image/%.c ./include/%.ih
275 $(COMPILE)
276
277$(OBJDIR)/bitmap.obj: $(CDIR)/c_image/bitmap.c
278 $(COMPILE)
279
280# Compile common functions
281$(OBJDIR)/except.obj: $(CDIR)/c_common/except.c ./inc/omf.h ./inc/sym.h
282 $(COMPILE)
283
284$(OBJDIR)/%.obj: $(CDIR)/c_common/%.c
285 $(COMPILE)
286
287# Compile lib files containg generic function
288$(LIBDIR)/%.obj: $(COMMONSRC)/%.c
289 $(COMPILE)
290
291###################################
292#
293# Rules for cleaning the tree
294#
295###################################
296
297clean:
298 -cd $(OBJDIR) && rm *.obj
299 -cd ./include && rm *.ih
300 -cd ./include && rm *.h
301 -cd ./include && rm *.hh
302 -cd $(LIBDIR) && rm *.obj
303 -rm *.dll
304 -rm *.map
305 -rm *.sym
306 -cd ./Help/de && make clean
307 -cd ./Help/en && make clean
308 -cd ./Help/es && make clean
309 -cd ./Help/fr && make clean
310 -cd ./Help/nl && make clean
311 -cd ./Help/it && make clean
312 -cd ./Help/tw && make clean
313 -cd ./res && make clean
314 -cd ./mm-progs && make clean
315
316
317cleaner:
318 -cd ./c && make clean
319 -cd ./common_functions && make cleaner
320 -cd ./mm-progs && make cleaner
321 -cd ./Help/de && make cleaner
322 -cd ./Help/en && make cleaner
323 -cd ./Help/es && make cleaner
324 -cd ./Help/fr && make cleaner
325 -cd ./Help/nl && make cleaner
326 -cd ./Help/it && make cleaner
327 -cd ./Help/tw && make cleaner
328 -cd ./res && make cleaner
329 -cd ./mm-progs && make cleaner
330 -cd ./include && rm *.*~
331 -cd ./inc && rm *.*~
332 -cd $(IDLDIR)/idl_audio && rm *.*~
333 -cd $(IDLDIR)/idl_image && rm *.*~
334 -cd $(IDLDIR)/idl_mm && rm *.*~
335 -cd $(IDLDIR)/idl_video && rm *.*~
336
337distribution:
338 make
339
340
Note: See TracBrowser for help on using the repository browser.