]> git.sur5r.net Git - cc65/blob - src/cc65/make/watcom.mak
ValidSegName now defined in segnames.h
[cc65] / src / cc65 / make / watcom.mak
1 #
2 # CC65 Makefile for the Watcom compiler (using GNU make)
3 #
4
5 # ------------------------------------------------------------------------------
6 # Generic stuff
7
8 AR      = WLIB
9 LD      = WLINK
10 LNKCFG  = ld.tmp
11
12 # --------------------- OS2 ---------------------
13 ifeq ($(TARGET),OS2)
14 SYSTEM  = os2v2
15 CC      = WCC386
16 CFLAGS  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
17 endif
18
19 # -------------------- DOS4G --------------------
20 ifeq ($(TARGET),DOS32)
21 SYSTEM  = dos4g
22 CC      = WCC386
23 CFLAGS  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
24 endif
25
26 # --------------------- NT ----------------------
27 ifeq ($(TARGET),NT)
28 SYSTEM  = nt
29 CC      = WCC386
30 CFLAGS  = -bt=$(TARGET) -d1 -onatx -zp4 -5 -zq -w2
31 endif
32
33 # Add the include dir
34 CFLAGS  += -i=..\common
35
36 # ------------------------------------------------------------------------------
37 # Implicit rules
38
39 %.obj:  %.c
40         $(CC) $(CFLAGS) $^
41
42
43 # ------------------------------------------------------------------------------
44 # All library OBJ files
45
46 OBJS =  anonname.obj    \
47         asmcode.obj     \
48         asmlabel.obj    \
49         asmstmt.obj     \
50         assignment.obj  \
51         casenode.obj    \
52         codeent.obj     \
53         codegen.obj     \
54         codelab.obj     \
55         codeinfo.obj    \
56         codeopt.obj     \
57         codeseg.obj     \
58         compile.obj     \
59         coptadd.obj     \
60         coptc02.obj     \
61         coptcmp.obj     \
62         coptind.obj     \
63         coptneg.obj     \
64         coptpush.obj    \
65         coptsize.obj    \
66         coptstop.obj    \
67         coptstore.obj   \
68         coptsub.obj     \
69         copttest.obj    \
70         cpu.obj         \
71         dataseg.obj     \
72         datatype.obj    \
73         declare.obj     \
74         declattr.obj    \
75         error.obj       \
76         expr.obj        \
77         exprdesc.obj    \
78         exprheap.obj    \
79         exprnode.obj    \
80         funcdesc.obj    \
81         function.obj    \
82         global.obj      \
83         goto.obj        \
84         hexval.obj      \
85         ident.obj       \
86         incpath.obj     \
87         input.obj       \
88         lineinfo.obj    \
89         litpool.obj     \
90         locals.obj      \
91         loop.obj        \
92         macrotab.obj    \
93         main.obj        \
94         opcodes.obj     \
95         preproc.obj     \
96         pragma.obj      \
97         reginfo.obj     \
98         scanner.obj     \
99         scanstrbuf.obj  \
100         segments.obj    \
101         stdfunc.obj     \
102         stmt.obj        \
103         swstmt.obj      \
104         symentry.obj    \
105         symtab.obj      \
106         textseg.obj     \
107         typecast.obj    \
108         typecmp.obj     \
109         util.obj
110
111 LIBS = ..\common\common.lib
112
113 # ------------------------------------------------------------------------------
114 # Main targets
115
116 all:            cc65
117
118 cc65:           cc65.exe
119
120
121 # ------------------------------------------------------------------------------
122 # Other targets
123
124
125 cc65.exe:       $(OBJS) $(LIBS)
126         @echo DEBUG ALL > $(LNKCFG)
127         @echo OPTION QUIET >> $(LNKCFG)
128         @echo NAME $@ >> $(LNKCFG)
129         @for %%i in ($(OBJS)) do echo FILE %%i >> $(LNKCFG)
130         @for %%i in ($(LIBS)) do echo LIBRARY %%i >> $(LNKCFG)
131         $(LD) system $(SYSTEM) @$(LNKCFG)
132         @rm $(LNKCFG)
133
134 clean:
135         @if exist *.obj del *.obj
136         @if exist cc65.exe del cc65.exe
137
138 strip:
139         @-wstrip cc65.exe
140
141