]> git.sur5r.net Git - cc65/blob - libsrc/Makefile
36602fd91aae2488a6d62ed7a471ac8bd3c7274e
[cc65] / libsrc / Makefile
1 #
2 # makefile for CC65 runtime library
3 #
4
5 .SUFFIXES: .o .obj .s .c
6
7 # Defines used by the submakes:
8 export CC = ../../src/cc65/cc65
9 export AS = ../../src/ca65/ca65
10
11 # Define used within this makefile
12 AR = ../src/ar65/ar65
13
14 # List of all targets
15 ALLTARGETS =    apple2lib       \
16                 atarilib        \
17                 c64lib          \
18                 c128lib         \
19                 cbm610lib       \
20                 geoslib         \
21                 petlib          \
22                 plus4lib
23
24 #-----------------------------------------------------------------------------
25
26 all:
27         for tgt in $(ALLTARGETS); do            \
28             $(MAKE) clean $$tgt || exit 1;      \
29         done
30
31 #-----------------------------------------------------------------------------
32 # Apple ][
33
34 apple2lib:
35         export CFLAGS="-Osir -g -t apple2 -I../../include";\
36         export AFLAGS="-t apple2";\
37         for i in apple2 common runtime conio dbg; do \
38             $(MAKE) -C $$i || exit 1; \
39         done
40         mv apple2/crt0.o apple2.o
41         for i in apple2 common runtime conio dbg; do \
42             $(AR) a apple2.lib $$i/*.o;\
43         done
44
45 #-----------------------------------------------------------------------------
46 # Atari
47
48 atarilib:
49         export CFLAGS="-Osir -g -t atari -I../../include";\
50         export AFLAGS="-t atari";\
51         for i in atari common runtime conio dbg; do \
52             $(MAKE) -C $$i || exit 1; \
53         done
54         mv atari/crt0.o atari.o
55         for i in atari common runtime conio dbg; do \
56             $(AR) a atari.lib $$i/*.o;\
57         done
58
59 #-----------------------------------------------------------------------------
60 # C64
61
62 c64lib:
63         export CFLAGS="-Osir -g -t c64 -I../../include";\
64         export AFLAGS="-t c64";\
65         for i in c64 cbm common runtime conio dbg; do \
66             $(MAKE) -C $$i || exit 1; \
67         done
68         mv c64/crt0.o c64.o
69         for i in c64 cbm common runtime conio dbg; do \
70             $(AR) a c64.lib $$i/*.o;\
71         done
72
73 #-----------------------------------------------------------------------------
74 # C128
75
76 c128lib:
77         export CFLAGS="-Osir -g -t c128 -I../../include";\
78         export AFLAGS="-t c128";\
79         for i in c128 cbm common runtime conio dbg; do \
80             $(MAKE) -C $$i || exit 1; \
81         done
82         mv c128/crt0.o c128.o
83         for i in c128 cbm common runtime conio dbg; do \
84             $(AR) a c128.lib $$i/*.o;\
85         done
86
87 #-----------------------------------------------------------------------------
88 # PET-II series
89
90 cbm610lib:
91         export CFLAGS="-Osir -g -t cbm610 -I../../include";\
92         export AFLAGS="-t cbm610";\
93         for i in cbm610 cbm common runtime conio dbg; do \
94             $(MAKE) -C $$i || exit 1; \
95         done
96         mv cbm610/crt0.o cbm610.o
97         for i in cbm610 cbm common runtime conio dbg; do \
98             $(AR) a cbm610.lib $$i/*.o;\
99         done
100
101 #-----------------------------------------------------------------------------
102 # GEOS on the C64/128
103
104 geoslib:
105         export CFLAGS="-Osir -g -t geos -I../../include";\
106         export AFLAGS="-t geos";\
107         for i in geos common runtime; do \
108             $(MAKE) -C $$i || exit 1; \
109         done
110         for i in common runtime; do \
111             $(AR) a geos.lib $$i/*.o;\
112         done
113
114 #-----------------------------------------------------------------------------
115 # CBM PET machines
116
117 petlib:
118         export CFLAGS="-Osir -g -t pet -I../../include";\
119         export AFLAGS="-t pet";\
120         for i in pet cbm common runtime conio dbg; do \
121             $(MAKE) -C $$i || exit 1; \
122         done
123         mv pet/crt0.o pet.o
124         for i in pet cbm common runtime conio dbg; do \
125             $(AR) a pet.lib $$i/*.o;\
126         done
127
128 #-----------------------------------------------------------------------------
129 # Commodore C116, C16 and Plus/4
130
131 plus4lib:
132         export CFLAGS="-Osir -g -t plus4 -I../../include";\
133         export AFLAGS="-t plus4";\
134         for i in plus4 cbm common runtime conio dbg; do \
135             $(MAKE) -C $$i || exit 1; \
136         done
137         mv plus4/crt0.o plus4.o
138         for i in plus4 cbm common runtime conio dbg; do \
139             $(AR) a plus4.lib $$i/*.o;\
140         done
141
142 #-----------------------------------------------------------------------------
143 # Dummy targets
144
145 .PHONY: clean
146 clean:
147         @for i in apple2 atari c128 c64 cbm cbm610 common conio dbg geos pet plus4 runtime; do  \
148            $(MAKE) -C $$i clean;                                                                        \
149         done
150
151 .PHONY: zap
152 zap:    clean
153         @rm -f *.lib
154
155
156
157
158