source: sbliveos2/trunk/drv16/makefile.os2@ 147

Last change on this file since 147 was 147, checked in by sandervl, 25 years ago

Fixed wave volume, recording gain + wave recording

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.6 KB
Line 
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
20NAME = sblive16
21WMAPNAME = 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#
61CC=wcc
62CPP=wpp
63!if "$(DEBUG)" == "1"
64CFLAGS =-ms -5 -bt=os2 -hc -d2 -oi -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DDEBUG -DTARGET_OS216
65CPPFLAGS=-ms -5 -bt=os2 -hc -d2 -oi -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DDEBUG -DTARGET_OS216
66LFLAGS = d codeview
67!else
68CFLAGS =-ms -5 -bt=os2 -oi -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DTARGET_OS216
69CPPFLAGS=-ms -5 -bt=os2 -olinars -s -j -wx -zl -zfp -zgp -zq -zu -zp1 -DTARGET_OS216
70LFLAGS =
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#
83ASM=wasm
84AFLAGS=-d1 -zq -3p -i
85LINK=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#########################################
103OBJS1=segments.obj header.obj
104OBJS2=audiohw.obj event.obj commdbg.obj
105OBJS3=
106OBJS4=idc_vdd.obj init.obj ioctl.obj irq.obj
107OBJS5=malloc.obj maudio.obj memutil.obj
108OBJS6=midimsg.obj midipars.obj midistrm.obj mpu401.obj
109OBJS7=parse.obj queue.obj rm.obj rtmidi.obj
110OBJS8=ssm_idc.obj strategy.obj stream.obj timer.obj vddentry.obj waudio.obj
111OBJS9=waveplay.obj waverec.obj wavestrm.obj ossidc16.obj
112OBJS=$(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5) $(OBJS6) $(OBJS7) $(OBJS8) $(OBJS9)
113
114all: $(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
143clean:
144 del *.obj *.err *.lnk *.sys *.sym *.lst *.map *.wmap
Note: See TracBrowser for help on using the repository browser.