]> git.sur5r.net Git - cc65/blob - src/common/make/watcom.mak
db3c2863c92028e38a11dcb7ed43163684fdec0f
[cc65] / src / common / make / watcom.mak
1 #
2 # CC65 Makefile for the Watcom compiler (using GNU make) and wine
3 #
4
5 # ------------------------------------------------------------------------------
6 # Generic stuff
7
8 # Environment variables for the watcom compiler
9 export WATCOM  = c:\\watcom
10 export INCLUDE = $(WATCOM)\\h
11
12 # We will use the windows compiler under linux (define as empty for windows)
13 export WINEDEBUG=fixme-all
14 WINE    = wine
15
16 # Programs
17 AR      = $(WINE) WLIB
18 CC      = $(WINE) WCC386
19 LD      = $(WINE) WLINK
20 LIB     = common.lib
21
22 # Program arguments
23 CFLAGS  = -d1 -onatx -zp4 -5 -zq -w2
24
25 # Create NT programs by default
26 ifndef TARGET
27 TARGET = NT
28 endif
29
30 # --------------------- OS2 ---------------------
31 ifeq ($(TARGET),OS2)
32 SYSTEM  = os2v2
33 CFLAGS  += -bt=$(TARGET)
34 endif
35
36 # -------------------- DOS4G --------------------
37 ifeq ($(TARGET),DOS32)
38 SYSTEM  = dos4g
39 CFLAGS  += -bt=$(TARGET)
40 endif
41
42 # --------------------- NT ----------------------
43 ifeq ($(TARGET),NT)
44 SYSTEM  = nt
45 CFLAGS  += -bt=$(TARGET)
46 endif
47
48 # ------------------------------------------------------------------------------
49 # Implicit rules
50
51 %.obj:  %.c
52         $(CC) $(CFLAGS) $^
53
54
55 # ------------------------------------------------------------------------------
56 # All library OBJ files
57
58 OBJS =  abend.obj       \
59         addrsize.obj    \
60         bitops.obj      \
61         chartype.obj    \
62         check.obj       \
63         cmdline.obj     \
64         coll.obj        \
65         cpu.obj         \
66         debugflag.obj   \
67         exprdefs.obj    \
68         filepos.obj     \
69         filetype.obj    \
70         fname.obj       \
71         fp.obj          \
72         hashstr.obj     \
73         hashtab.obj     \
74         intstack.obj    \
75         matchpat.obj    \
76         mmodel.obj      \
77         print.obj       \
78         searchpath.obj  \
79         segdefs.obj     \
80         segnames.obj    \
81         shift.obj       \
82         strbuf.obj      \
83         strpool.obj     \
84         strstack.obj    \
85         strutil.obj     \
86         target.obj      \
87         tgttrans.obj    \
88         wildargv.obj    \
89         xmalloc.obj     \
90         xsprintf.obj
91
92
93 # ------------------------------------------------------------------------------
94 # Main targets
95
96 all:    lib
97
98 lib:    $(LIB)
99
100 $(LIB): $(OBJS)
101         @echo Creating library...
102         $(AR) -q -b -P=32 $(LIB) $(foreach OBJ, $(OBJS), +-$(OBJ))
103         @echo Done!
104
105 wildargv.obj:
106         $(CC) $(CFLAGS) $(WATCOM)\\src\\startup\\wildargv.c
107
108 clean:
109         @rm -f *~ core
110
111 zap:    clean
112         @rm -f *.obj $(LIB)
113
114 strip:
115         @true
116
117
118
119