]> git.sur5r.net Git - cc65/blobdiff - libsrc/Makefile
Working
[cc65] / libsrc / Makefile
index 36602fd91aae2488a6d62ed7a471ac8bd3c7274e..4cf826026b4102dfb82028189f4ec776f5ad97c5 100644 (file)
@@ -4,11 +4,10 @@
 
 .SUFFIXES: .o .obj .s .c
 
-# Defines used by the submakes:
-export CC = ../../src/cc65/cc65
-export AS = ../../src/ca65/ca65
-
-# Define used within this makefile
+# Defines for executables. The first two are passed to the submakes and are
+# relative to the subdirectories, the last one is used directly.
+CC = ../../src/cc65/cc65
+AS = ../../src/ca65/ca65
 AR = ../src/ar65/ar65
 
 # List of all targets
@@ -16,6 +15,7 @@ ALLTARGETS =  apple2lib       \
                atarilib        \
                c64lib          \
                c128lib         \
+               cbm510lib       \
                cbm610lib       \
                geoslib         \
                petlib          \
@@ -25,16 +25,18 @@ ALLTARGETS =        apple2lib       \
 
 all:
        for tgt in $(ALLTARGETS); do            \
-                   $(MAKE) clean $$tgt || exit 1;      \
+           $(MAKE) clean $$tgt || exit 1;      \
        done
 
 #-----------------------------------------------------------------------------
 # Apple ][
 
 apple2lib:
-       export CFLAGS="-Osir -g -t apple2 -I../../include";\
-       export AFLAGS="-t apple2";\
        for i in apple2 common runtime conio dbg; do \
+           CC=$(CC) \
+           AS=$(AS) \
+           CFLAGS="-Osir -g -T -t apple2 -I../../include" \
+           AFLAGS="-t apple2" \
            $(MAKE) -C $$i || exit 1; \
        done
        mv apple2/crt0.o apple2.o
@@ -46,9 +48,11 @@ apple2lib:
 # Atari
 
 atarilib:
-       export CFLAGS="-Osir -g -t atari -I../../include";\
-               export AFLAGS="-t atari";\
        for i in atari common runtime conio dbg; do \
+           CC=$(CC) \
+           AS=$(AS) \
+           CFLAGS="-Osir -g -T -t atari -I../../include" \
+           AFLAGS="-t atari" \
            $(MAKE) -C $$i || exit 1; \
        done
        mv atari/crt0.o atari.o
@@ -60,9 +64,11 @@ atarilib:
 # C64
 
 c64lib:
-       export CFLAGS="-Osir -g -t c64 -I../../include";\
-               export AFLAGS="-t c64";\
        for i in c64 cbm common runtime conio dbg; do \
+           CC=$(CC) \
+           AS=$(AS) \
+           CFLAGS="-Osir -g -T -t c64 -I../../include" \
+           AFLAGS="-t c64" \
            $(MAKE) -C $$i || exit 1; \
        done
        mv c64/crt0.o c64.o
@@ -74,9 +80,11 @@ c64lib:
 # C128
 
 c128lib:
-       export CFLAGS="-Osir -g -t c128 -I../../include";\
-               export AFLAGS="-t c128";\
        for i in c128 cbm common runtime conio dbg; do \
+           CC=$(CC) \
+           AS=$(AS) \
+           CFLAGS="-Osir -g -T -t c128 -I../../include" \
+           AFLAGS="-t c128" \
            $(MAKE) -C $$i || exit 1; \
        done
        mv c128/crt0.o c128.o
@@ -84,13 +92,31 @@ c128lib:
            $(AR) a c128.lib $$i/*.o;\
        done
 
+#-----------------------------------------------------------------------------
+# Commdore P500 / CBM 5x0
+
+cbm510lib:
+       for i in cbm510 cbm common runtime conio dbg; do \
+           CC=$(CC) \
+           AS=$(AS) \
+           CFLAGS="-Osir -g -T -t cbm510 -I../../include" \
+           AFLAGS="-t cbm510" \
+           $(MAKE) -C $$i || exit 1; \
+       done
+       mv cbm510/crt0.o cbm510.o
+       for i in cbm510 cbm common runtime conio dbg; do \
+           $(AR) a cbm510.lib $$i/*.o;\
+       done
+
 #-----------------------------------------------------------------------------
 # PET-II series
 
 cbm610lib:
-       export CFLAGS="-Osir -g -t cbm610 -I../../include";\
-               export AFLAGS="-t cbm610";\
        for i in cbm610 cbm common runtime conio dbg; do \
+           CC=$(CC) \
+           AS=$(AS) \
+           CFLAGS="-Osir -g -T -t cbm610 -I../../include" \
+           AFLAGS="-t cbm610" \
            $(MAKE) -C $$i || exit 1; \
        done
        mv cbm610/crt0.o cbm610.o
@@ -102,22 +128,39 @@ cbm610lib:
 # GEOS on the C64/128
 
 geoslib:
-       export CFLAGS="-Osir -g -t geos -I../../include";\
-               export AFLAGS="-t geos";\
-               for i in geos common runtime; do \
+       CC=../$(CC) \
+       AS=../$(AS) \
+       AR=../$(AR) \
+       CFLAGS="-Osir -g -T -t geos -I../../../include" \
+       AFLAGS="-t geos" \
+       $(MAKE) -C geos || exit 1
+       for i in common runtime; do \
+           CC=$(CC) \
+           AS=$(AS) \
+           AR=$(AR) \
+           CFLAGS="-Osir -g -T -t geos -I../../include" \
+           AFLAGS="-t geos" \
            $(MAKE) -C $$i || exit 1; \
        done
        for i in common runtime; do \
-           $(AR) a geos.lib $$i/*.o;\
+           for objfile in $$i/*.o; do \
+               if [ -f geos/$$objfile ]; then \
+                   $(AR) a geos.lib geos/$$objfile; \
+               else \
+                   $(AR) a geos.lib $$objfile; \
+               fi; \
+           done \
        done
 
 #-----------------------------------------------------------------------------
 # CBM PET machines
 
 petlib:
-       export CFLAGS="-Osir -g -t pet -I../../include";\
-               export AFLAGS="-t pet";\
        for i in pet cbm common runtime conio dbg; do \
+           CC=$(CC) \
+           AS=$(AS) \
+           CFLAGS="-Osir -g -T -t pet -I../../include" \
+           AFLAGS="-t pet" \
            $(MAKE) -C $$i || exit 1; \
        done
        mv pet/crt0.o pet.o
@@ -129,9 +172,11 @@ petlib:
 # Commodore C116, C16 and Plus/4
 
 plus4lib:
-       export CFLAGS="-Osir -g -t plus4 -I../../include";\
-               export AFLAGS="-t plus4";\
        for i in plus4 cbm common runtime conio dbg; do \
+           CC=$(CC) \
+           AS=$(AS) \
+           CFLAGS="-Osir -g -T -t plus4 -I../../include" \
+           AFLAGS="-t plus4" \
            $(MAKE) -C $$i || exit 1; \
        done
        mv plus4/crt0.o plus4.o
@@ -144,15 +189,15 @@ plus4lib:
 
 .PHONY: clean
 clean:
-       @for i in apple2 atari c128 c64 cbm cbm610 common conio dbg geos pet plus4 runtime; do  \
-                  $(MAKE) -C $$i clean;                                                                        \
+       @for i in apple2 atari c128 c64 cbm cbm510 cbm610 common conio dbg geos pet plus4 runtime; do   \
+          $(MAKE) -C $$i clean;                                                                        \
        done
 
 .PHONY: zap
 zap:   clean
-       @rm -f *.lib
+       @rm -f *.o *.lib
+
 
 
 
 
-