source: trunk/classes/makefile@ 201

Last change on this file since 201 was 153, checked in by gyoung, 19 months ago

Get all the CWMM help files to build in the correct language with the correct code page

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