]> git.sur5r.net Git - cc65/blob - src/cc65/make/watcom.mak
Rewrote the switch statement
[cc65] / src / cc65 / make / watcom.mak
1 #
2 # CC65 Makefile for the Watcom compiler
3 #
4
5 # ------------------------------------------------------------------------------
6 # Generic stuff
7
8 .AUTODEPEND
9 .SUFFIXES       .ASM .C .CC .CPP
10 .SWAP
11
12 AR      = WLIB
13 LD      = WLINK
14
15 !if !$d(TARGET)
16 !if $d(__OS2__)
17 TARGET = OS2
18 !else
19 TARGET = NT
20 !endif
21 !endif
22
23 # target specific macros.
24 !if $(TARGET)==OS2
25
26 # --------------------- OS2 ---------------------
27 SYSTEM = os2v2
28 CC = WCC386
29 CCCFG  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
30
31 !elif $(TARGET)==DOS32
32
33 # -------------------- DOS4G --------------------
34 SYSTEM = dos4g
35 CC = WCC386
36 CCCFG  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
37
38 !elif $(TARGET)==DOS
39
40 # --------------------- DOS ---------------------
41 SYSTEM = dos
42 CC = WCC
43 CCCFG  = -bt=$(TARGET) -d1 -onatx -zp2 -2 -ml -zq -w2
44
45 !elif $(TARGET)==NT
46
47 # --------------------- NT ----------------------
48 SYSTEM = nt
49 CC = WCC386
50 CCCFG  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
51
52 !else
53 !error
54 !endif
55
56 # Add the include dir
57 CCCFG   = $(CCCFG) -i=..\common
58
59
60 # ------------------------------------------------------------------------------
61 # Implicit rules
62
63 .c.obj:
64   $(CC) $(CCCFG) $<
65
66
67 # ------------------------------------------------------------------------------
68 # All library OBJ files
69
70 OBJS =  anonname.obj    \
71         asmcode.obj     \
72         asmlabel.obj    \
73         asmstmt.obj     \
74         casenode.obj    \
75         codeent.obj     \
76         codegen.obj     \
77         codelab.obj     \
78         codeinfo.obj    \
79         codeopt.obj     \
80         codeseg.obj     \
81         compile.obj     \
82         coptadd.obj     \
83         coptcmp.obj     \
84         coptind.obj     \
85         coptneg.obj     \
86         coptstop.obj    \
87         coptsub.obj     \
88         copttest.obj    \
89         cpu.obj         \
90         dataseg.obj     \
91         datatype.obj    \
92         declare.obj     \
93         declattr.obj    \
94         error.obj       \
95         expr.obj        \
96         exprheap.obj    \
97         exprnode.obj    \
98         funcdesc.obj    \
99         function.obj    \
100         global.obj      \
101         goto.obj        \
102         ident.obj       \
103         incpath.obj     \
104         input.obj       \
105         lineinfo.obj    \
106         litpool.obj     \
107         locals.obj      \
108         loop.obj        \
109         macrotab.obj    \
110         main.obj        \
111         opcodes.obj     \
112         preproc.obj     \
113         pragma.obj      \
114         reginfo.obj     \
115         scanner.obj     \
116         segments.obj    \
117         stdfunc.obj     \
118         stmt.obj        \
119         swstmt.obj      \
120         symentry.obj    \
121         symtab.obj      \
122         textseg.obj     \
123         typecmp.obj     \
124         util.obj
125
126 LIBS = ..\common\common.lib
127
128 .PRECIOUS $(OBJS:.obj=.c)
129
130 # ------------------------------------------------------------------------------
131 # Main targets
132
133 all:            cc65
134
135 cc65:           cc65.exe
136
137
138 # ------------------------------------------------------------------------------
139 # Other targets
140
141
142 cc65.exe:       $(OBJS) $(LIBS)
143         $(LD) system $(SYSTEM) @&&|
144 DEBUG ALL
145 OPTION QUIET
146 NAME $<
147 FILE anonname.obj
148 FILE asmcode.obj
149 FILE asmlabel.obj
150 FILE asmstmt.obj
151 FILE casenode.obj
152 FILE codeent.obj
153 FILE codegen.obj
154 FILE codelab.obj
155 FILE codeinfo.obj
156 FILE codeopt.obj
157 FILE codeseg.obj
158 FILE compile.obj
159 FILE coptadd.obj
160 FILE coptcmp.obj
161 FILE coptind.obj
162 FILE coptneg.obj
163 FILE coptstop.obj
164 FILE coptsub.obj
165 FILE copttest.obj
166 FILE cpu.obj
167 FILE dataseg.obj
168 FILE datatype.obj
169 FILE declare.obj
170 FILE declattr.obj
171 FILE error.obj
172 FILE expr.obj
173 FILE exprheap.obj
174 FILE exprnode.obj
175 FILE funcdesc.obj
176 FILE function.obj
177 FILE global.obj
178 FILE goto.obj
179 FILE ident.obj
180 FILE incpath.obj
181 FILE input.obj
182 FILE lineinfo.obj
183 FILE litpool.obj
184 FILE locals.obj
185 FILE loop.obj
186 FILE macrotab.obj
187 FILE main.obj
188 FILE opcodes.obj
189 FILE preproc.obj
190 FILE pragma.obj
191 FILE reginfo.obj
192 FILE scanner.obj
193 FILE segments.obj
194 FILE stdfunc.obj
195 FILE stmt.obj
196 FILE swstmt.obj
197 FILE symentry.obj
198 FILE symtab.obj
199 FILE textseg.obj
200 FILE typecmp.obj
201 FILE util.obj
202 LIBRARY ..\common\common.lib
203 |
204
205 clean:
206         @if exist *.obj del *.obj
207         @if exist cc65.exe del cc65.exe
208
209 strip:
210         @-wstrip cc65.exe
211
212