]> git.sur5r.net Git - cc65/blob - src/ld65/make/watcom.mak
Fix problematic code. Use more stuff from the shared modules.
[cc65] / src / ld65 / make / watcom.mak
1 #
2 # ld65 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 OBJ files
65
66 OBJS =  bin.obj         \
67         binfmt.obj      \
68         config.obj      \
69         dbgsyms.obj     \
70         error.obj       \
71         exports.obj     \
72         expr.obj        \
73         extsyms.obj     \
74         fileio.obj      \
75         global.obj      \
76         library.obj     \
77         main.obj        \
78         mapfile.obj     \
79         o65.obj         \
80         objdata.obj     \
81         objfile.obj     \
82         scanner.obj     \
83         segments.obj    \
84         target.obj
85
86 LIBS = ..\common\common.lib
87
88
89 # ------------------------------------------------------------------------------
90 # Main targets
91
92 all:            ld65
93
94 ld65:           ld65.exe
95
96
97 # ------------------------------------------------------------------------------
98 # Other targets
99
100
101 ld65.exe:       $(OBJS) $(LIBS)
102         $(LD) system $(SYSTEM) @&&|
103 DEBUG ALL
104 OPTION QUIET
105 NAME $<
106 FILE bin.obj
107 FILE binfmt.obj
108 FILE config.obj
109 FILE dbgsyms.obj
110 FILE error.obj
111 FILE exports.obj
112 FILE expr.obj
113 FILE extsyms.obj
114 FILE fileio.obj
115 FILE global.obj
116 FILE library.obj
117 FILE main.obj
118 FILE mapfile.obj
119 FILE o65.obj
120 FILE objdata.obj
121 FILE objfile.obj
122 FILE scanner.obj
123 FILE segments.obj
124 FILE target.obj
125 LIBRARY ..\common\common.lib
126 |
127
128 clean:
129         @if exist *.obj del *.obj
130         @if exist *.obj del ld65.exe
131
132 strip:
133         @-wstrip ld65.exe
134