]> git.sur5r.net Git - cc65/blob - src/cc65/make/watcom.mak
Added first provisions for a code size factor check in the optimizer
[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         coptc02.obj     \
84         coptcmp.obj     \
85         coptind.obj     \
86         coptneg.obj     \
87         coptstop.obj    \
88         coptsub.obj     \
89         copttest.obj    \
90         cpu.obj         \
91         dataseg.obj     \
92         datatype.obj    \
93         declare.obj     \
94         declattr.obj    \
95         error.obj       \
96         expr.obj        \
97         exprheap.obj    \
98         exprnode.obj    \
99         funcdesc.obj    \
100         function.obj    \
101         global.obj      \
102         goto.obj        \
103         ident.obj       \
104         incpath.obj     \
105         input.obj       \
106         lineinfo.obj    \
107         litpool.obj     \
108         locals.obj      \
109         loop.obj        \
110         macrotab.obj    \
111         main.obj        \
112         opcodes.obj     \
113         preproc.obj     \
114         pragma.obj      \
115         reginfo.obj     \
116         scanner.obj     \
117         segments.obj    \
118         stdfunc.obj     \
119         stmt.obj        \
120         swstmt.obj      \
121         symentry.obj    \
122         symtab.obj      \
123         textseg.obj     \
124         typecmp.obj     \
125         util.obj
126
127 LIBS = ..\common\common.lib
128
129 .PRECIOUS $(OBJS:.obj=.c)
130
131 # ------------------------------------------------------------------------------
132 # Main targets
133
134 all:            cc65
135
136 cc65:           cc65.exe
137
138
139 # ------------------------------------------------------------------------------
140 # Other targets
141
142
143 cc65.exe:       $(OBJS) $(LIBS)
144         $(LD) system $(SYSTEM) @&&|
145 DEBUG ALL
146 OPTION QUIET
147 NAME $<
148 FILE anonname.obj
149 FILE asmcode.obj
150 FILE asmlabel.obj
151 FILE asmstmt.obj
152 FILE casenode.obj
153 FILE codeent.obj
154 FILE codegen.obj
155 FILE codelab.obj
156 FILE codeinfo.obj
157 FILE codeopt.obj
158 FILE codeseg.obj
159 FILE compile.obj
160 FILE coptadd.obj
161 FILE coptc02.obj
162 FILE coptcmp.obj
163 FILE coptind.obj
164 FILE coptneg.obj
165 FILE coptstop.obj
166 FILE coptsub.obj
167 FILE copttest.obj
168 FILE cpu.obj
169 FILE dataseg.obj
170 FILE datatype.obj
171 FILE declare.obj
172 FILE declattr.obj
173 FILE error.obj
174 FILE expr.obj
175 FILE exprheap.obj
176 FILE exprnode.obj
177 FILE funcdesc.obj
178 FILE function.obj
179 FILE global.obj
180 FILE goto.obj
181 FILE ident.obj
182 FILE incpath.obj
183 FILE input.obj
184 FILE lineinfo.obj
185 FILE litpool.obj
186 FILE locals.obj
187 FILE loop.obj
188 FILE macrotab.obj
189 FILE main.obj
190 FILE opcodes.obj
191 FILE preproc.obj
192 FILE pragma.obj
193 FILE reginfo.obj
194 FILE scanner.obj
195 FILE segments.obj
196 FILE stdfunc.obj
197 FILE stmt.obj
198 FILE swstmt.obj
199 FILE symentry.obj
200 FILE symtab.obj
201 FILE textseg.obj
202 FILE typecmp.obj
203 FILE util.obj
204 LIBRARY ..\common\common.lib
205 |
206
207 clean:
208         @if exist *.obj del *.obj
209         @if exist cc65.exe del cc65.exe
210
211 strip:
212         @-wstrip cc65.exe
213
214