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