X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2FMakefile;h=f0ae5e46c7201b6c7ef40581c186cf46621a0c62;hb=65fa99f65eece97f5d0e51d809b6742579693efe;hp=3ff1bad4fd75208c9a4137821e7592c695ce17d0;hpb=ea8541e932fb0c10bf53ea429da8bb9685a8f4f4;p=cc65 diff --git a/libsrc/Makefile b/libsrc/Makefile index 3ff1bad4f..f0ae5e46c 100644 --- a/libsrc/Makefile +++ b/libsrc/Makefile @@ -4,36 +4,43 @@ .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. AR is used within this makefile, the others are +# passed to the submakes and contain paths relative to the subdirectories +# handled by the make subprocesses. AR = ../src/ar65/ar65 +AS = ../../src/ca65/ca65 +CC = ../../src/cc65/cc65 +LD = ../../src/ld65/ld65 # List of all targets ALLTARGETS = apple2lib \ - atarilib \ - c64lib \ - c128lib \ + atarilib \ + atmoslib \ + vic20lib \ + c64lib \ + c128lib \ + cbm510lib \ cbm610lib \ - geoslib \ - petlib \ + geoslib \ + petlib \ plus4lib #----------------------------------------------------------------------------- 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";\ for i in apple2 common runtime conio dbg; do \ + CC=$(CC) \ + AS=$(AS) \ + CFLAGS="-Osir -g -T -t apple2 -I../../include" \ + AFLAGS="-t apple2 -I../../asminc" \ $(MAKE) -C $$i || exit 1; \ done mv apple2/crt0.o apple2.o @@ -45,8 +52,11 @@ apple2lib: # Atari atarilib: - export CFLAGS="-Osir -g -t atari -I../../include";\ for i in atari common runtime conio dbg; do \ + CC=$(CC) \ + AS=$(AS) \ + CFLAGS="-Osir -g -T -t atari -I../../include" \ + AFLAGS="-t atari -I../../asminc" \ $(MAKE) -C $$i || exit 1; \ done mv atari/crt0.o atari.o @@ -54,16 +64,53 @@ atarilib: $(AR) a atari.lib $$i/*.o;\ done +#----------------------------------------------------------------------------- +# Oric Atmos + +atmoslib: + for i in atmos common runtime; do \ + CC=$(CC) \ + AS=$(AS) \ + CFLAGS="-Osir -g -T -t atmos -I../../include" \ + AFLAGS="-t atmos -I../../asminc" \ + $(MAKE) -C $$i || exit 1; \ + done + mv atmos/crt0.o atmos.o + for i in atmos common runtime; do \ + $(AR) a atmos.lib $$i/*.o;\ + done + +#----------------------------------------------------------------------------- +# Vic20 + +vic20lib: + for i in vic20 cbm common runtime conio dbg; do \ + CC=$(CC) \ + AS=$(AS) \ + AFLAGS="-t vic20 -I../../asminc" \ + CFLAGS="-Osir -g -T -t vic20 -I../../include" \ + $(MAKE) -C $$i || exit 1; \ + done + mv vic20/crt0.o vic20.o + for i in vic20 cbm common runtime conio dbg; do \ + $(AR) a vic20.lib $$i/*.o;\ + done + #----------------------------------------------------------------------------- # C64 c64lib: - export CFLAGS="-Osir -g -t c64 -I../../include";\ - for i in c64 cbm common runtime conio dbg; do \ + for i in c64 cbm common runtime conio dbg tgi; do \ + AS=$(AS) \ + CC=$(CC) \ + LD=$(LD) \ + AFLAGS="-t c64 -I../../asminc" \ + CFLAGS="-Osir -g -T -t c64 -I../../include" \ $(MAKE) -C $$i || exit 1; \ done mv c64/crt0.o c64.o - for i in c64 cbm common runtime conio dbg; do \ + cp c64/*.tgi . + for i in c64 cbm common runtime conio dbg tgi; do \ $(AR) a c64.lib $$i/*.o;\ done @@ -71,8 +118,11 @@ c64lib: # C128 c128lib: - export CFLAGS="-Osir -g -t c128 -I../../include";\ 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 -I../../asminc" \ $(MAKE) -C $$i || exit 1; \ done mv c128/crt0.o c128.o @@ -80,12 +130,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 -I../../asminc" \ + $(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";\ 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 -I../../asminc" \ $(MAKE) -C $$i || exit 1; \ done mv cbm610/crt0.o cbm610.o @@ -97,20 +166,39 @@ cbm610lib: # GEOS on the C64/128 geoslib: - export CFLAGS="-Osir -g -t geos -I../../include";\ - for i in geos common runtime; do \ + CC=../$(CC) \ + AS=../$(AS) \ + AR=../$(AR) \ + CFLAGS="-Osir -g -T -t geos -I../../../include" \ + AFLAGS="-t geos -I../../../asminc" \ + $(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 -I../../asminc" \ $(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";\ 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 -I../../asminc" \ $(MAKE) -C $$i || exit 1; \ done mv pet/crt0.o pet.o @@ -122,8 +210,11 @@ petlib: # Commodore C116, C16 and Plus/4 plus4lib: - export CFLAGS="-Osir -g -t plus4 -I../../include";\ 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 -I../../asminc" \ $(MAKE) -C $$i || exit 1; \ done mv plus4/crt0.o plus4.o @@ -136,13 +227,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 tgi; do \ + $(MAKE) -C $$i clean; \ done .PHONY: zap zap: clean - @rm -f *.lib + @rm -f *.o *.lib + +