]> git.sur5r.net Git - cc65/blob - src/cc65/make/watcom.mak
Moved the check module to the common dir.
[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         asmline.obj     \
74         codegen.obj     \
75         compile.obj     \
76         cpu.obj         \
77         ctrans.obj      \
78         datatype.obj    \
79         declare.obj     \
80         error.obj       \
81         expr.obj        \
82         funcdesc.obj    \
83         function.obj    \
84         global.obj      \
85         goto.obj        \
86         ident.obj       \
87         incpath.obj     \
88         input.obj       \
89         litpool.obj     \
90         locals.obj      \
91         loop.obj        \
92         macrotab.obj    \
93         main.obj        \
94         optimize.obj    \
95         pragma.obj      \
96         preproc.obj     \
97         stmt.obj        \
98         scanner.obj     \
99         segname.obj     \
100         stdfunc.obj     \
101         symentry.obj    \
102         symtab.obj      \
103         util.obj
104
105 LIBS = ..\common\common.lib
106
107 .PRECIOUS $(OBJS:.obj=.c)
108
109 # ------------------------------------------------------------------------------
110 # Main targets
111
112 all:            cc65
113
114 cc65:           cc65.exe
115
116
117 # ------------------------------------------------------------------------------
118 # Other targets
119
120
121 cc65.exe:       $(OBJS) $(LIBS)
122         $(LD) system $(SYSTEM) @&&|
123 DEBUG ALL
124 OPTION QUIET
125 NAME $<
126 FILE anonname.obj
127 FILE asmcode.obj
128 FILE asmlabel.obj
129 FILE asmline.obj
130 FILE codegen.obj
131 FILE compile.obj
132 FILE cpu.obj
133 FILE ctrans.obj
134 FILE datatype.obj
135 FILE declare.obj
136 FILE error.obj
137 FILE expr.obj
138 FILE funcdesc.obj
139 FILE function.obj
140 FILE global.obj
141 FILE goto.obj
142 FILE ident.obj
143 FILE incpath.obj
144 FILE input.obj
145 FILE litpool.obj
146 FILE locals.obj
147 FILE loop.obj
148 FILE macrotab.obj
149 FILE main.obj
150 FILE optimize.obj
151 FILE pragma.obj
152 FILE preproc.obj
153 FILE stmt.obj
154 FILE scanner.obj
155 FILE segname.obj
156 FILE stdfunc.obj
157 FILE symentry.obj
158 FILE symtab.obj
159 FILE util.obj
160 LIBRARY ..\common\common.lib
161 |
162
163 clean:
164         @if exist *.obj del *.obj
165         @if exist cc65.exe del cc65.exe
166
167 strip:
168         @-wstrip cc65.exe
169
170