]> git.sur5r.net Git - cc65/blob - src/ca65/make/watcom.mak
Added a more generic way to push sources that deliver a token stream
[cc65] / src / ca65 / make / watcom.mak
1 #
2 # CA65 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 # ------------------------------------------------------------------------------
57 # Implicit rules
58
59 .c.obj:
60   $(CC) $(CCCFG) $<
61
62
63 # ------------------------------------------------------------------------------
64 # All library OBJ files
65
66 OBJS =  condasm.obj     \
67         ea.obj          \
68         error.obj       \
69         expr.obj        \
70         fname.obj       \
71         fragment.obj    \
72         global.obj      \
73         incpath.obj     \
74         instr.obj       \
75         istack.obj      \
76         listing.obj     \
77         macpack.obj     \
78         macro.obj       \
79         main.obj        \
80         mem.obj         \
81         nexttok.obj     \
82         objcode.obj     \
83         objfile.obj     \
84         options.obj     \
85         pseudo.obj      \
86         scanner.obj     \
87         strexpr.obj     \
88         symtab.obj      \
89         toklist.obj     \
90         ulabel.obj
91
92 LIBS = ..\common\common.lib
93
94
95 # ------------------------------------------------------------------------------
96 # Main targets
97
98 all:            ca65
99
100 ca65:           ca65.exe
101
102
103 # ------------------------------------------------------------------------------
104 # Other targets
105
106
107 ca65.exe:       $(OBJS) $(LIBS)
108         $(LD) system $(SYSTEM) @&&|
109 DEBUG ALL
110 OPTION QUIET
111 NAME $<
112 FILE condasm.obj
113 FILE ea.obj
114 FILE error.obj
115 FILE expr.obj
116 FILE fname.obj
117 FILE fragment.obj
118 FILE global.obj
119 FILE incpath.obj
120 FILE instr.obj
121 FILE istack.obj
122 FILE listing.obj
123 FILE macpack.obj
124 FILE macro.obj
125 FILE main.obj
126 FILE mem.obj
127 FILE nexttok.obj
128 FILE objcode.obj
129 FILE objfile.obj
130 FILE options.obj
131 FILE pseudo.obj
132 FILE scanner.obj
133 FILE strexpr.obj
134 FILE symtab.obj
135 FILE toklist.obj
136 FILE ulabel.obj
137 LIBRARY ..\common\common.lib
138 |
139
140 clean:
141         @if exist *.obj del *.obj
142         @if exist ca65.exe del ca65.exe
143
144 strip:
145         @-wstrip ca65.exe
146