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