source: contrib/API/lib/Makefile@ 541

Last change on this file since 541 was 541, checked in by David Azarewicz, 15 years ago

Initial import

File size: 2.7 KB
Line 
1# To build you must have installed :
2# OpenWatcom
3#
4# 07-Sep-2010 David Azarewicz Makefile changed to use Watcom tools
5
6WATCOM=E:\Watcom
7
8.ERASE
9.SUFFIXES
10.SUFFIXES: .lst .exe .obj .c .cpp .asm .lib .def
11
12# Options for Watcom C compiler
13# -bt=os2v2 = Build target OS is OS/2
14# -5s = Optimize for Pentium, use stack for variables in calls
15# -o = Optimization - i = enable inline intrinsic functions
16# l = enable loop optimizations
17# -s = Omit stack size checking from start of each function
18# -wx = Warning level set to maximum (vs 1..4)
19# -zq = Operate quietly
20# -zp4 = default packing 4
21CC=wcc386
22CFLAGS=-5s -bm -s -wx -orli -zq -zp4 -bt=os2v2_dll
23
24LINK=wlink
25
26# Options for Watcom assembler
27# -bt=os2 = Build target OS is OS/2
28# -d1 = Include line number info in object
29# (necessary to produce assembler listing)
30# -i = Include list
31# -zq = Operate quietly
32# -3p = 80386 protected-mode instructions
33#
34ASM=wasm
35AFLAGS=-5p -d1 -zq -bt=os2
36
37#since BEGINLIBPATH doesn't work, we load the dll's manually
38!ifdef __LOADDLL__
39!loaddll wlink $(WATCOM)\binp\dll\wlinkd.dll
40!loaddll wcc386 $(WATCOM)\binp\dll\wccd386.dll
41!loaddll wlib $(WATCOM)\binp\dll\wlibd.dll
42!endif
43
44OBJ=unilib.obj unictl.obj unipcm.obj uniaud.obj pcmmulti.obj cputest.obj fast_memcpy.obj fastmemcpy.obj resample.obj resample2.obj
45
46.before:
47 @set WATCOM=$(WATCOM)
48 @set PATH=$(WATCOM)\BINP;$(WATCOM)\BINW;$(%PATH)
49 @set EDPATH=$(WATCOM)\EDDAT
50 @set INCLUDE=.;$(WATCOM)\H;$(WATCOM)\H\OS2;
51
52.c.obj: .AUTODEPEND
53 $(CC) $(CFLAGS) $*.c
54
55.asm.obj: .AUTODEPEND
56 $(ASM) $(AFLAGS) $*.asm
57
58
59all: uniaud.dll uniaud.lib
60
61uniaud.dll: $(OBJ) uniaud.def
62 @%create $^*.lrf
63 @%append $^*.lrf system os2v2_dll initinstance terminstance
64 @%append $^*.lrf option quiet
65 @%append $^*.lrf option manyautodata
66 @%append $^*.lrf option map
67 @%append $^*.lrf name $^.
68 @for %i in ($(OBJ)) do @%append $^*.lrf file %i
69 @%append $^*.lrf export=uniaud.def
70 $(LINK) @$^*.lrf
71 @%erase $^*.lrf
72
73uniaud_static.lib: $(OBJ)
74 @%create $^*.lbc
75 @for %i in ($(OBJ)) do @%append $^*.lbc +%i
76 wlib -n -b -q $^@ @$^*.lbc
77 @%erase $^*.lbc
78
79uniaud.lib: uniaud.dll
80 wlib -n -b -q -iro -p=16 uniaud.lib +uniaud.dll
81
82clean: .SYMBOLIC
83 @rm *.obj *.lib *.exe *.dll *.map *.lst
84
85xfast_memcpy.obj: fast_memcpy.c
86 $(CC) $(CFLAGS) -DFASTMEMCPY_TEST $*.c
87
88fast_memcpy.exe: fast_memcpy.obj fastmemcpy.obj cputest.obj
89 @%create $^*.lrf
90 @%append $^*.lrf system os2v2
91 @%append $^*.lrf option quiet
92 @%append $^*.lrf name $^.
93 @%append $^*.lrf file fast_memcpy.obj
94 @%append $^*.lrf file fastmemcpy.obj
95 @%append $^*.lrf file cputest.obj
96 $(LINK) @$^*.lrf
97 @%erase $^*.lrf
98
99
Note: See TracBrowser for help on using the repository browser.