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