X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2FMakefile;h=84d59f97ed24e37dfec6a9f52873237bb1b02d60;hb=6657214a18d41ce76e9ea1bc8b67977ee13d3645;hp=4636e8c135e984fa38d8fd997fa8bece8708b9e3;hpb=14110977463fc9869684ca9b8b2d625e10270303;p=cc65 diff --git a/libsrc/Makefile b/libsrc/Makefile index 4636e8c13..84d59f97e 100644 --- a/libsrc/Makefile +++ b/libsrc/Makefile @@ -4,170 +4,247 @@ .SUFFIXES: .o .obj .s .c -# 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 +# 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 \ - cbm610lib \ - geoslib \ - petlib \ - plus4lib +ALLTARGETS = apple2 \ + atari \ + atmos \ + vic20 \ + c16 \ + c64 \ + c128 \ + cbm510 \ + cbm610 \ + geos \ + pet \ + plus4 #----------------------------------------------------------------------------- all: for tgt in $(ALLTARGETS); do \ - $(MAKE) clean $$tgt || exit 1; \ + $(MAKE) clean "$$tgt"lib || exit 1; \ done #----------------------------------------------------------------------------- # Apple ][ apple2lib: - for i in apple2 common runtime conio dbg; do \ - CC=$(CC) \ + for i in apple2 common runtime conio dbg em tgi; do \ AS=$(AS) \ - CFLAGS="-Osir -g -t apple2 -I../../include" \ - AFLAGS="-t apple2" \ + CC=$(CC) \ + LD=$(LD) \ + AFLAGS="-t apple2 -I../../asminc" \ + CFLAGS="-Osir -g -T -t apple2 -I../../include" \ $(MAKE) -C $$i || exit 1; \ - done - mv apple2/crt0.o apple2.o - for i in apple2 common runtime conio dbg; do \ $(AR) a apple2.lib $$i/*.o;\ done + mv apple2/crt0.o apple2.o #----------------------------------------------------------------------------- # Atari atarilib: - for i in atari common runtime conio dbg; do \ - CC=$(CC) \ + for i in atari common runtime conio dbg em joystick tgi; do \ AS=$(AS) \ - CFLAGS="-Osir -g -t atari -I../../include" \ - AFLAGS="-t atari" \ + CC=$(CC) \ + LD=$(LD) \ + AFLAGS="-t atari -I../../asminc" \ + CFLAGS="-Osir -g -T -t atari -I../../include" \ $(MAKE) -C $$i || exit 1; \ + $(AR) a atari.lib $$i/*.o;\ done mv atari/crt0.o atari.o - for i in atari common runtime conio dbg; do \ - $(AR) a atari.lib $$i/*.o;\ + +#----------------------------------------------------------------------------- +# Oric Atmos + +atmoslib: + for i in atmos common runtime em joystick tgi; do \ + AS=$(AS) \ + CC=$(CC) \ + LD=$(LD) \ + AFLAGS="-t atmos -I../../asminc" \ + CFLAGS="-Osir -g -T -t atmos -I../../include" \ + $(MAKE) -C $$i || exit 1; \ + $(AR) a atmos.lib $$i/*.o;\ done + mv atmos/crt0.o atmos.o #----------------------------------------------------------------------------- -# C64 +# Vic20 -c64lib: - for i in c64 cbm common runtime conio dbg; do \ +vic20lib: + for i in vic20 cbm common runtime conio dbg em joystick tgi; do \ + AS=$(AS) \ CC=$(CC) \ + LD=$(LD) \ + AFLAGS="-t vic20 -I../../asminc" \ + CFLAGS="-Osir -g -T -t vic20 -I../../include" \ + $(MAKE) -C $$i || exit 1; \ + $(AR) a vic20.lib $$i/*.o;\ + done + mv vic20/crt0.o vic20.o + cp vic20/*.joy . + +#----------------------------------------------------------------------------- +# C16, C116 + +c16lib: + for i in c16 cbm common runtime conio dbg em joystick tgi; do \ AS=$(AS) \ - CFLAGS="-Osir -g -t c64 -I../../include" \ - AFLAGS="-t c64" \ + CC=$(CC) \ + LD=$(LD) \ + AFLAGS="-t c16 -I../../asminc" \ + CFLAGS="-Osir -g -T -t c16 -I../../include" \ $(MAKE) -C $$i || exit 1; \ + $(AR) a c16.lib $$i/*.o;\ done - mv c64/crt0.o c64.o - for i in c64 cbm common runtime conio dbg; do \ + mv c16/crt0.o c16.o + cp c16/*.joy . + +#----------------------------------------------------------------------------- +# C64 + +c64lib: + for i in c64 cbm common runtime conio dbg em joystick tgi; do \ + AS=$(AS) \ + CC=$(CC) \ + LD=$(LD) \ + CFLAGS="-Osir -g -T -t c64 -I../../include" \ + AFLAGS="-t c64 -I../../asminc" \ + $(MAKE) -C $$i || exit 1; \ $(AR) a c64.lib $$i/*.o;\ done + mv c64/crt0.o c64.o + cp c64/*.emd . + cp c64/*.joy . + cp c64/c64-320-200-2.tgi c64-hi.tgi #----------------------------------------------------------------------------- # C128 c128lib: - for i in c128 cbm common runtime conio dbg; do \ - CC=$(CC) \ + for i in c128 cbm common runtime conio dbg em joystick tgi; do \ AS=$(AS) \ - CFLAGS="-Osir -g -t c128 -I../../include" \ - AFLAGS="-t c128" \ + CC=$(CC) \ + LD=$(LD) \ + AFLAGS="-t c128 -I../../asminc" \ + CFLAGS="-Osir -g -T -t c128 -I../../include" \ $(MAKE) -C $$i || exit 1; \ + $(AR) a c128.lib $$i/*.o;\ done mv c128/crt0.o c128.o - for i in c128 cbm common runtime conio dbg; do \ - $(AR) a c128.lib $$i/*.o;\ + cp c128/*.emd . + cp c128/*.joy . + +#----------------------------------------------------------------------------- +# Commdore P500 / CBM 5x0 + +cbm510lib: + for i in cbm510 cbm common runtime conio dbg em joystick tgi; do \ + CC=$(CC) \ + AS=$(AS) \ + LD=$(LD) \ + AFLAGS="-t cbm510 -I../../asminc" \ + CFLAGS="-Osir -g -T -t cbm510 -I../../include" \ + $(MAKE) -C $$i || exit 1; \ + $(AR) a cbm510.lib $$i/*.o;\ done + mv cbm510/crt0.o cbm510.o + cp cbm510/*.emd . #----------------------------------------------------------------------------- # PET-II series cbm610lib: - for i in cbm610 cbm common runtime conio dbg; do \ + for i in cbm610 cbm common runtime conio dbg em; do \ CC=$(CC) \ AS=$(AS) \ - CFLAGS="-Osir -g -t cbm610 -I../../include" \ - AFLAGS="-t cbm610" \ + LD=$(LD) \ + AFLAGS="-t cbm610 -I../../asminc" \ + CFLAGS="-Osir -g -T -t cbm610 -I../../include" \ $(MAKE) -C $$i || exit 1; \ - done - mv cbm610/crt0.o cbm610.o - for i in cbm610 cbm common runtime conio dbg; do \ $(AR) a cbm610.lib $$i/*.o;\ done + mv cbm610/crt0.o cbm610.o + cp cbm610/*.emd . #----------------------------------------------------------------------------- # GEOS on the C64/128 geoslib: - for i in geos common runtime; do \ + CC=../$(CC) \ + AS=../$(AS) \ + AR=../$(AR) \ + LD=../$(LD) \ + AFLAGS="-t geos -I../../../asminc" \ + CFLAGS="-Osir -g -T -t geos -I../../../include" \ + $(MAKE) -C geos || exit 1 + for i in common runtime; do \ CC=$(CC) \ AS=$(AS) \ - CFLAGS="-Osir -g -t geos -I../../include" \ - AFLAGS="-t geos" \ + LD=$(LD) \ + AR=$(AR) \ + AFLAGS="-t geos -I../../asminc" \ + CFLAGS="-Osir -g -T -t geos -I../../include" \ $(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: - for i in pet cbm common runtime conio dbg; do \ + for i in pet cbm common runtime conio dbg em tgi; do \ CC=$(CC) \ AS=$(AS) \ - CFLAGS="-Osir -g -t pet -I../../include" \ - AFLAGS="-t pet" \ + LD=$(LD) \ + AFLAGS="-t pet -I../../asminc" \ + CFLAGS="-Osir -g -T -t pet -I../../include" \ $(MAKE) -C $$i || exit 1; \ - done - mv pet/crt0.o pet.o - for i in pet cbm common runtime conio dbg; do \ $(AR) a pet.lib $$i/*.o;\ done + mv pet/crt0.o pet.o #----------------------------------------------------------------------------- -# Commodore C116, C16 and Plus/4 +# Commodore Plus/4 plus4lib: - for i in plus4 cbm common runtime conio dbg; do \ + for i in plus4 cbm common runtime conio dbg em joystick tgi; do \ CC=$(CC) \ AS=$(AS) \ - CFLAGS="-Osir -g -t plus4 -I../../include" \ - AFLAGS="-t plus4" \ + LD=$(LD) \ + AFLAGS="-t plus4 -I../../asminc" \ + CFLAGS="-Osir -g -T -t plus4 -I../../include" \ $(MAKE) -C $$i || exit 1; \ - done - mv plus4/crt0.o plus4.o - for i in plus4 cbm common runtime conio dbg; do \ $(AR) a plus4.lib $$i/*.o;\ done + mv plus4/crt0.o plus4.o + cp plus4/*.joy . #----------------------------------------------------------------------------- # Dummy targets .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 common conio dbg em runtime tgi $(ALLTARGETS); do \ + $(MAKE) -C $$i clean; \ done .PHONY: zap zap: clean - @rm -f *.lib - - - - - + @rm -f *.o *.emd *.lib *.tgi