]> git.sur5r.net Git - cc65/blob - src/ld65/make/gcc.mak
INCS didn't include nes.inc
[cc65] / src / ld65 / make / gcc.mak
1 #
2 # gcc Makefile for ld65
3 #
4
5 # Library dir
6 COMMON  = ../common
7
8 # Default for the compiler lib search path as compiler define
9 CDEFS=-DCC65_LIB=\"/usr/lib/cc65/lib/\"
10 CFLAGS = -g -O2 -Wall -W -I$(COMMON) $(CDEFS)
11 CC=gcc
12 EBIND=emxbind
13 LDFLAGS=
14
15 # Perl script for config file conversion
16 CVT=cfg/cvt-cfg.pl
17
18 # -----------------------------------------------------------------------------
19 # List of all object files
20
21 OBJS =  asserts.o       \
22         bin.o           \
23         binfmt.o        \
24         condes.o        \
25         config.o        \
26         dbginfo.o       \
27         dbgsyms.o       \
28         error.o         \
29         exports.o       \
30         expr.o          \
31         extsyms.o       \
32         fileinfo.o      \
33         fileio.o        \
34         filepath.o      \
35         fragment.o      \
36         global.o        \
37         library.o       \
38         lineinfo.o      \
39         main.o          \
40         mapfile.o       \
41         o65.o           \
42         objdata.o       \
43         objfile.o       \
44         scanner.o       \
45         segments.o      \
46         spool.o         \
47         tgtcfg.o
48
49 # -----------------------------------------------------------------------------
50 # List of all config includes
51
52 INCS =  apple2.inc      \
53         atari.inc       \
54         atmos.inc       \
55         bbc.inc         \
56         c128.inc        \
57         c16.inc         \
58         c64.inc         \
59         cbm510.inc      \
60         cbm610.inc      \
61         geos.inc        \
62         lunix.inc       \
63         module.inc      \
64         nes.inc         \
65         none.inc        \
66         pet.inc         \
67         plus4.inc       \
68         vic20.inc
69
70 # -----------------------------------------------------------------------------
71 #
72
73 LIBS = $(COMMON)/common.a
74
75
76 EXECS = ld65
77
78 .PHONY: all
79 ifeq (.depend,$(wildcard .depend))
80 all : $(EXECS)
81 include .depend
82 else
83 all:    depend
84         @$(MAKE) -f make/gcc.mak all
85 endif
86
87
88
89 ld65:   $(INCS) $(OBJS) $(LIBS)
90         $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
91         @if [ $(OS2_SHELL) ] ;  then $(EBIND) $@ ; fi
92
93 inc:    $(INCS)
94
95 clean:
96         rm -f *~ core *.map
97
98 zap:    clean
99         rm -f *.o $(INCS) $(EXECS) .depend
100
101
102 # ------------------------------------------------------------------------------
103 # Make the dependencies
104
105 .PHONY: depend dep
106 depend dep:     $(OBJS:.o=.c)
107         @echo "Creating dependency information"
108         $(CC) -I$(COMMON) -MM -MG $^ > .depend
109
110 # -----------------------------------------------------------------------------
111 # Rules to make config includes
112
113 apple2.inc:     cfg/apple2.cfg
114         @$(CVT) $< $@ CfgApple2
115
116 atari.inc:      cfg/atari.cfg
117         @$(CVT) $< $@ CfgAtari
118
119 atmos.inc:      cfg/atmos.cfg
120         @$(CVT) $< $@ CfgAtmos
121
122 bbc.inc:        cfg/bbc.cfg
123         @$(CVT) $< $@ CfgBBC
124
125 c16.inc:        cfg/c16.cfg
126         @$(CVT) $< $@ CfgC16
127
128 c64.inc:        cfg/c64.cfg
129         @$(CVT) $< $@ CfgC64
130
131 c128.inc:       cfg/c128.cfg
132         @$(CVT) $< $@ CfgC128
133
134 cbm510.inc:     cfg/cbm510.cfg
135         @$(CVT) $< $@ CfgCBM510
136
137 cbm610.inc:     cfg/cbm610.cfg
138         @$(CVT) $< $@ CfgCBM610
139
140 geos.inc:       cfg/geos.cfg
141         @$(CVT) $< $@ CfgGeos
142
143 lunix.inc:      cfg/lunix.cfg
144         @$(CVT) $< $@ CfgLunix
145
146 module.inc:     cfg/module.cfg
147         @$(CVT) $< $@ CfgModule
148
149 nes.inc:        cfg/nes.cfg
150         @$(CVT) $< $@ CfgNES
151
152 none.inc:       cfg/none.cfg
153         @$(CVT) $< $@ CfgNone
154
155 pet.inc:        cfg/pet.cfg
156         @$(CVT) $< $@ CfgPET
157
158 plus4.inc:      cfg/plus4.cfg
159         @$(CVT) $< $@ CfgPlus4
160
161 vic20.inc:      cfg/vic20.cfg
162         @$(CVT) $< $@ CfgVic20
163
164