1 | #/* SCCSID = src/dev/mme/tropez/makefile, tropez, c.basedd 97/10/22 */
|
---|
2 | #****************************************************************************
|
---|
3 | #* *
|
---|
4 | #* Copyright (c) IBM Corporation 1994 - 1997. *
|
---|
5 | #* *
|
---|
6 | #* The following IBM OS/2 source code is provided to you solely for the *
|
---|
7 | #* the purpose of assisting you in your development of OS/2 device drivers. *
|
---|
8 | #* You may use this code in accordance with the IBM License Agreement *
|
---|
9 | #* provided in the IBM Device Driver Source Kit for OS/2. *
|
---|
10 | #* *
|
---|
11 | #****************************************************************************/
|
---|
12 | #
|
---|
13 | #- Set the environmental variables for compiling
|
---|
14 | #
|
---|
15 | .ERASE
|
---|
16 |
|
---|
17 | .SUFFIXES:
|
---|
18 | .SUFFIXES: .sys .obj .asm .inc .def .lrf .ref .lst .sym .map .c .cpp .h .lib
|
---|
19 |
|
---|
20 | NAME = sblive16
|
---|
21 | WMAPNAME = sblive16.wmap
|
---|
22 |
|
---|
23 | .BEFORE
|
---|
24 | !ifndef %WATCOM
|
---|
25 | set WATCOM=..\..\..\..\WATCOM
|
---|
26 | !endif
|
---|
27 | set LIB=$(%DDK)\BASE\LIB
|
---|
28 | set INCLUDE=;.;$(%WATCOM)\H;..\runtime;$(%DDK)\BASE\SRC\DEV\RESOURCE\RMCALLS;$(%DDK)\BASE\H;$(%DDK)\BASE\SRC\INC;..\OS2Runtime;$(%DDK)\base\src\dev\mme\midi;..\include
|
---|
29 | set PATH=$(%DDK)\BASE\TOOLS;$(%WATCOM)\BINP;$(%WATCOM)\BINW
|
---|
30 |
|
---|
31 | !include ..\include\version.mak
|
---|
32 |
|
---|
33 | #########################################
|
---|
34 | # Options for Watcom 16-bit C compiler
|
---|
35 | #########################################
|
---|
36 | # -bt=os2 = Build target OS is OS/2
|
---|
37 | # -ms = Memory model small
|
---|
38 | # -3 = Enable use of 80386 instructions
|
---|
39 | # -4 = Optimize for 486 (assumes -3)
|
---|
40 | # -5 = Optimize for Pentium (assumes -3)
|
---|
41 | # -j = char default is unsigned
|
---|
42 | # -d1 = Include line number info in object
|
---|
43 | # (necessary to produce assembler listing)
|
---|
44 | # -d2 = Include debugging info for ICAT
|
---|
45 | # (necessary to produce assembler listing)
|
---|
46 | # -o = Optimization - i = enable inline intrinsic functions
|
---|
47 | # r = optimize for 80486 and pentium pipes
|
---|
48 | # s = space is preferred to time
|
---|
49 | # l = enable loop optimizations
|
---|
50 | # a = relax aliasing constraints
|
---|
51 | # n = allow numerically unstable optimizations
|
---|
52 | # -s = Omit stack size checking from start of each function
|
---|
53 | # -zl = Place no library references into objects
|
---|
54 | # -wx = Warning level set to maximum (vs 1..4)
|
---|
55 | # -zfp = Prevent use of FS selector
|
---|
56 | # -zgp = Prevent use of GS selector
|
---|
57 | # -zq = Operate quietly
|
---|
58 | # -zm = Put each function in its own segment
|
---|
59 | # -zu = Do not assume that SS contains segment of DGROUP
|
---|
60 | #
|
---|
61 | CC=wcc
|
---|
62 | CPP=wpp
|
---|
63 | !if "$(DEBUG)" == "1"
|
---|
64 | CFLAGS =-ms -5 -bt=os2 -hc -d2 -oi -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DDEBUG -DTARGET_OS216
|
---|
65 | CPPFLAGS=-ms -5 -bt=os2 -hc -d2 -oi -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DDEBUG -DTARGET_OS216
|
---|
66 | LFLAGS = d codeview
|
---|
67 | !else
|
---|
68 | CFLAGS =-ms -5 -bt=os2 -oi -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DTARGET_OS216
|
---|
69 | CPPFLAGS=-ms -5 -bt=os2 -olinars -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DTARGET_OS216
|
---|
70 | LFLAGS =
|
---|
71 | !endif
|
---|
72 |
|
---|
73 | #########################################
|
---|
74 | # Options for Watcom assembler
|
---|
75 | #########################################
|
---|
76 | # -bt=os2 = Build target OS is OS/2
|
---|
77 | # -d1 = Include line number info in object
|
---|
78 | # (necessary to produce assembler listing)
|
---|
79 | # -i = Include list
|
---|
80 | # -zq = Operate quietly
|
---|
81 | # -3p = 80386 protected-mode instructions
|
---|
82 | #
|
---|
83 | ASM=wasm
|
---|
84 | AFLAGS=-d1 -zq -3p -i
|
---|
85 | LINK=wlink $(LFLAGS)
|
---|
86 |
|
---|
87 | #########################################
|
---|
88 | # Inference rules
|
---|
89 | #########################################
|
---|
90 |
|
---|
91 | .c.obj: .AUTODEPEND
|
---|
92 | $(CC) $(CPPFLAGS) $*.c
|
---|
93 |
|
---|
94 | .cpp.obj: .AUTODEPEND
|
---|
95 | $(CPP) $(CPPFLAGS) $*.cpp
|
---|
96 |
|
---|
97 | .asm.obj: .AUTODEPEND
|
---|
98 | $(ASM) $(AFLAGS) $*.asm
|
---|
99 |
|
---|
100 | #########################################
|
---|
101 | # Object file list
|
---|
102 | #########################################
|
---|
103 | OBJS1=segments.obj header.obj
|
---|
104 | OBJS2=audiohw.obj event.obj commdbg.obj
|
---|
105 | OBJS3=
|
---|
106 | OBJS4=idc_vdd.obj init.obj ioctl.obj irq.obj
|
---|
107 | OBJS5=malloc.obj maudio.obj memutil.obj
|
---|
108 | OBJS6=midimsg.obj midipars.obj midistrm.obj mpu401.obj
|
---|
109 | OBJS7=parse.obj queue.obj rm.obj rtmidi.obj
|
---|
110 | OBJS8=ssm_idc.obj strategy.obj stream.obj timer.obj vddentry.obj waudio.obj
|
---|
111 | OBJS9=waveplay.obj waverec.obj wavestrm.obj dwavestrm.obj ossidc16.obj
|
---|
112 | OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5) $(OBJS6) $(OBJS7) $(OBJS8) $(OBJS9)
|
---|
113 |
|
---|
114 | all: $(NAME).sys $(NAME).sym
|
---|
115 |
|
---|
116 |
|
---|
117 | $(NAME).lrf: makefile.os2 ..\include\version.mak
|
---|
118 | @%write $^@ system os2 dll
|
---|
119 | @%write $^@ option quiet
|
---|
120 | @%write $^@ option verbose
|
---|
121 | @%write $^@ option caseexact
|
---|
122 | @%write $^@ option cache
|
---|
123 | @%write $^@ option map=$(WMAPNAME)
|
---|
124 | @%write $^@ option description '@$#$(_VENDOR):$(_VERSION)$#@'
|
---|
125 | @%write $^@ name $(NAME).sys
|
---|
126 | @for %f in ($(OBJS)) do @%append $^@ file %f
|
---|
127 | @%write $^@ import DOSIODELAYCNT DOSCALLS.427
|
---|
128 | @%write $(NAME).lrf library $(%DDK)\BASE\lib\os2286.lib
|
---|
129 | @%write $(NAME).lrf library ..\runtime\runtime.lib
|
---|
130 | @%write $(NAME).lrf library $(%DDK)\BASE\src\dev\resource\rmcalls\rmcalls.lib
|
---|
131 | @%write $(NAME).lrf library $(%DDK)\BASE\SRC\DEV\THINKPAD\DOCKII\APMCALLS\apmcalls.lib
|
---|
132 | @%write $(NAME).lrf library $(%WATCOM)\lib286\plibs.lib
|
---|
133 |
|
---|
134 | $(NAME).sys: $(OBJS) $(NAME).lrf makefile.os2 $(%DDK)\BASE\lib\os2286.lib ..\runtime\runtime.lib $(%DDK)\BASE\src\dev\resource\rmcalls\rmcalls.lib
|
---|
135 | $(LINK) @$(NAME).lrf
|
---|
136 | copy $(NAME).sys ..\bin
|
---|
137 |
|
---|
138 | $(NAME).sym: $(WMAPNAME)
|
---|
139 | wat2map $(WMAPNAME) $(NAME).MAP
|
---|
140 | mapsym $(NAME).MAP
|
---|
141 | copy $(NAME).sym ..\bin
|
---|
142 |
|
---|
143 | clean:
|
---|
144 | del *.obj *.err *.lnk *.sys *.sym *.lst *.map *.wmap *.lrf
|
---|