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
RevLine 
[2]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
[104]10CFLAGS = -Ge- /Gm+ -G4 /Ss -Gl /O+ -Oc+ -Ol- /Q+ /C
[2]11
[104]12LIBS = somtk.lib mmPM2.lib rexx.lib
13DEFS =
[2]14
15MOREINC = ./include -I./inc -I../common_functions/include
16CDIR = ./c
17IDLDIR = ./idl
18OBJDIR = ./obj
[4]19
20# Object files of common functions (CW functions) are going here
[2]21LIBDIR = ./lib
22
23
24#######################################
25#
26# Define compile command
27#
28#######################################
[4]29
30########### C compile #################
[2]31COMPILE = $(CC) -I $(MOREINC) $(CFLAGS) /Fo$@ $<
32
[4]33########### SOM compile ###############
[2]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 $<
[104]36AUD_SCCOMPILEIH = sc -I $(IDLDIR)/idl_audio -I $(IDLDIR)/idl_mm -p -r -s"ih;h" -dinclude -maddstar -mnoint -S128000 -C128000 $<
[2]37
38#Video
39VID_SCCOMPILEC = sc -I $(IDLDIR)/idl_video -p -r -sc -d$(CDIR)/c_video -maddstar -mnoint -S128000 -C128000 $<
[104]40VID_SCCOMPILEIH = sc -I $(IDLDIR)/idl_video -p -r -s"ih;h" -dinclude -maddstar -mnoint -S128000 -C128000 $<
[2]41
42#image
43IMG_SCCOMPILEC = sc -I $(IDLDIR)/idl_image -p -r -sc -d$(CDIR)/c_image -maddstar -mnoint -S128000 -C128000 $<
[104]44IMG_SCCOMPILEIH = sc -I $(IDLDIR)/idl_image -p -r -s"ih;h" -dinclude -maddstar -mnoint -S128000 -C128000 $<
[2]45
46#base classes
47MM_SCCOMPILEC = sc -I $(IDLDIR)/idl_mm -p -r -sc -d$(CDIR)/c_mm -maddstar -mnoint -S128000 -C128000 $<
[104]48MM_SCCOMPILEIH = sc -I $(IDLDIR)/idl_mm -p -r -s"ih;h" -dinclude -maddstar -mnoint -S128000 -C128000 $<
[2]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
[104]105
[2]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
[4]117#######################################
118#
119# Define *.hlp files.
120#
121#######################################
[2]122HLP_FILES = ./Help/de/cwmm049.hlp \
123 ./Help/en/cwmm.hlp \
[104]124 ./Help/es/cwmm034.hlp \
125 ./Help/fr/cwmm033.hlp \
[2]126 ./Help/nl/cwmm031.hlp \
[4]127 ./Help/it/cwmm039.hlp \
[153]128 ./Help/ru/cwmm007.hlp \
[4]129 ./Help/tw/cwmm088.hlp
[2]130
131
132#######################################
133#
134# Define *.ih files.
135#
136#######################################
[4]137MM_IHFILES = ./include/cwmmdataf.ih \
138 ./include/cwmmdisk.ih \
139 ./include/mmfolder.ih
[2]140
[4]141IHFILES = ./include/cwmp3.ih \
[2]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#######################################
[4]182all: cwmm.dll $(HLP_FILES) nlv
[2]183 cd ./mm-progs && make
184
185
186RESDLL :
187
188cwmm.dll: $(MM_IHFILES) $(IHFILES) $(VID_IHFILES) $(IMG_IHFILES) \
189 $(ALL_OBJECTS)
[4]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)
[2]193 cd ./res && make
194 rc ./res/common_res/cwaudio.res cwmm.dll
[104]195 MAPSYM cwmm.map
[2]196
197###################################
198#
[4]199# Rules for generating the NLV
200# ressources.
201#
202###################################
203nlv:
204 cd ./res && make
205
206
207###################################
208#
[2]209# Rules for generating online help
210#
211###################################
212# German
[104]213./Help/de/cwmm049.hlp: ./Help/de/cwmm049.ipf
[2]214 cd ./Help/de && make
215
216# English
217./Help/en/cwmm.hlp: ./Help/en/cwmm.ipf
218 cd ./Help/en && make
219
[104]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
[2]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
[153]236# Russian
237./Help/ru/cwmm007.hlp: ./Help/ru/cwmm007.ipf
238 cd ./Help/ru && make
239
[104]240# Taiwan
241./Help/tw/cwmm088.hlp: ./Help/tw/cwmm088.ipf
[4]242 cd ./Help/tw && make
243
[2]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
[104]331 -cd ./Help/es && make clean
332 -cd ./Help/fr && make clean
[2]333 -cd ./Help/nl && make clean
334 -cd ./Help/it && make clean
[4]335 -cd ./Help/tw && make clean
[2]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
[104]346 -cd ./Help/es && make cleaner
347 -cd ./Help/fr && make cleaner
[2]348 -cd ./Help/nl && make cleaner
349 -cd ./Help/it && make cleaner
[4]350 -cd ./Help/tw && make cleaner
[2]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.