]> git.sur5r.net Git - cc65/blob - src/cc65/make/watcom.mak
Avoid a copy of the line contents
[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         codeent.obj     \
74         codegen.obj     \
75         codelab.obj     \
76         codeinfo.obj    \
77         codeopt.obj     \
78         codeseg.obj     \
79         compile.obj     \
80         coptind.obj     \
81         cpu.obj         \
82         dataseg.obj     \
83         datatype.obj    \
84         declare.obj     \
85         declattr.obj    \
86         error.obj       \
87         expr.obj        \
88         exprheap.obj    \
89         exprnode.obj    \
90         funcdesc.obj    \
91         function.obj    \
92         global.obj      \
93         goto.obj        \
94         ident.obj       \
95         incpath.obj     \
96         input.obj       \
97         lineinfo.obj    \
98         litpool.obj     \
99         locals.obj      \
100         loop.obj        \
101         macrotab.obj    \
102         main.obj        \
103         opcodes.obj     \
104         preproc.obj     \
105         pragma.obj      \
106         scanner.obj     \
107         segments.obj    \
108         stdfunc.obj     \
109         stmt.obj        \
110         symentry.obj    \
111         symtab.obj      \
112         textseg.obj     \
113         typecmp.obj     \
114         util.obj
115
116 LIBS = ..\common\common.lib
117
118 .PRECIOUS $(OBJS:.obj=.c)
119
120 # ------------------------------------------------------------------------------
121 # Main targets
122
123 all:            cc65
124
125 cc65:           cc65.exe
126
127
128 # ------------------------------------------------------------------------------
129 # Other targets
130
131
132 cc65.exe:       $(OBJS) $(LIBS)
133         $(LD) system $(SYSTEM) @&&|
134 DEBUG ALL
135 OPTION QUIET
136 NAME $<
137 FILE anonname.obj
138 FILE asmcode.obj
139 FILE asmlabel.obj
140 FILE codeent.obj
141 FILE codegen.obj
142 FILE codelab.obj
143 FILE codeinfo.obj
144 FILE codeopt.obj
145 FILE codeseg.obj
146 FILE compile.obj
147 FILE coptind.obj
148 FILE cpu.obj
149 FILE dataseg.obj
150 FILE datatype.obj
151 FILE declare.obj
152 FILE declattr.obj
153 FILE error.obj
154 FILE expr.obj
155 FILE exprheap.obj
156 FILE exprnode.obj
157 FILE funcdesc.obj
158 FILE function.obj
159 FILE global.obj
160 FILE goto.obj
161 FILE ident.obj
162 FILE incpath.obj
163 FILE input.obj
164 FILE lineinfo.obj
165 FILE litpool.obj
166 FILE locals.obj
167 FILE loop.obj
168 FILE macrotab.obj
169 FILE main.obj
170 FILE opcodes.obj
171 FILE preproc.obj
172 FILE pragma.obj
173 FILE scanner.obj
174 FILE segments.obj
175 FILE stdfunc.obj
176 FILE stmt.obj
177 FILE symentry.obj
178 FILE symtab.obj
179 FILE textseg.obj
180 FILE typecmp.obj
181 FILE util.obj
182 LIBRARY ..\common\common.lib
183 |
184
185 clean:
186         @if exist *.obj del *.obj
187         @if exist cc65.exe del cc65.exe
188
189 strip:
190         @-wstrip cc65.exe
191
192