]> git.sur5r.net Git - cc65/blob - src/ca65/make/watcom.mak
Work on named scopes
[cc65] / src / ca65 / make / watcom.mak
1 #
2 # CA65 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         asserts.obj     \
48         condasm.obj     \
49         dbginfo.obj     \
50         ea.obj          \
51         error.obj       \
52         expr.obj        \
53         feature.obj     \
54         filetab.obj     \
55         fragment.obj    \
56         global.obj      \
57         incpath.obj     \
58         instr.obj       \
59         istack.obj      \
60         lineinfo.obj    \
61         listing.obj     \
62         macpack.obj     \
63         macro.obj       \
64         main.obj        \
65         nexttok.obj     \
66         objcode.obj     \
67         objfile.obj     \
68         options.obj     \
69         pseudo.obj      \
70         repeat.obj      \
71         scanner.obj     \
72         segment.obj     \
73         spool.obj       \
74         symentry.obj    \
75         symtab.obj      \
76         toklist.obj     \
77         ulabel.obj
78
79 LIBS = ..\common\common.lib
80
81
82 # ------------------------------------------------------------------------------
83 # Main targets
84
85 all:            ca65
86
87 ca65:           ca65.exe
88
89
90 # ------------------------------------------------------------------------------
91 # Other targets
92
93
94 ca65.exe:       $(OBJS) $(LIBS)
95         @echo DEBUG ALL > $(LNKCFG)
96         @echo OPTION QUIET >> $(LNKCFG)
97         @echo NAME $@ >> $(LNKCFG)
98         @for %%i in ($(OBJS)) do echo FILE %%i >> $(LNKCFG)
99         @for %%i in ($(LIBS)) do echo LIBRARY %%i >> $(LNKCFG)
100         $(LD) system $(SYSTEM) @$(LNKCFG)
101         @rm $(LNKCFG)
102
103 clean:
104         @if exist *.obj del *.obj
105         @if exist ca65.exe del ca65.exe
106
107 strip:
108         @-wstrip ca65.exe
109