X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2FMakefile;h=e21d85d77d46e088622f34b60145919e82d8f70f;hb=7357b44104017916ec02600fdb15ea41df6198c0;hp=3ff1bad4fd75208c9a4137821e7592c695ce17d0;hpb=ea8541e932fb0c10bf53ea429da8bb9685a8f4f4;p=cc65 diff --git a/libsrc/Makefile b/libsrc/Makefile index 3ff1bad4f..e21d85d77 100644 --- a/libsrc/Makefile +++ b/libsrc/Makefile @@ -4,146 +4,292 @@ .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 \ - cbm610lib \ - geoslib \ - petlib \ - plus4lib +ALLTARGETS = apple2 \ + apple2enh \ + atari \ + atmos \ + c16 \ + c128 \ + c64 \ + cbm510 \ + cbm610 \ + geos \ + lynx \ + nes \ + pet \ + plus4 \ + supervision \ + vic20 #----------------------------------------------------------------------------- +.PHONY: all all: for tgt in $(ALLTARGETS); do \ - $(MAKE) clean $$tgt || exit 1; \ + $(MAKE) clean "$$tgt"lib || exit 1; \ done #----------------------------------------------------------------------------- # Apple ][ apple2lib: - export CFLAGS="-Osir -g -t apple2 -I../../include";\ - for i in apple2 common runtime conio dbg; do \ - $(MAKE) -C $$i || exit 1; \ - done - mv apple2/crt0.o apple2.o - for i in apple2 common runtime conio dbg; do \ + for i in apple2 common runtime conio dbg em joystick mouse serial tgi zlib; do \ + $(MAKE) SYS=apple2 -C $$i || exit 1; \ $(AR) a apple2.lib $$i/*.o;\ done + cp apple2/apple2-auxmem.emd a2.auxmem.emd + cp apple2/apple2-stdjoy.joy a2.stdjoy.joy + cp apple2/apple2-stdmou.mou a2.stdmou.mou + cp apple2/apple2-ssc.ser a2.ssc.ser + cp apple2/apple2-280-192-8.tgi a2.hi.tgi + cp apple2/apple2-40-48-16.tgi a2.lo.tgi + if [ -d apple2/extra ]; then \ + for i in apple2/extra/*.o; do \ + cp $$i apple2-`basename $$i`; \ + done \ + fi \ + +#----------------------------------------------------------------------------- +# enhanced Apple //e + +apple2enhlib: + for i in apple2enh common runtime conio dbg em joystick mouse serial tgi zlib; do \ + $(MAKE) SYS=apple2enh -C $$i || exit 1; \ + $(AR) a apple2enh.lib $$i/*.o;\ + done + cp apple2enh/apple2-auxmem.emd a2e.auxmem.emd + cp apple2enh/apple2-stdjoy.joy a2e.stdjoy.joy + cp apple2enh/apple2-stdmou.mou a2e.stdmou.mou + cp apple2enh/apple2-ssc.ser a2e.ssc.ser + cp apple2enh/apple2-280-192-8.tgi a2e.hi.tgi + cp apple2enh/apple2-40-48-16.tgi a2e.lo.tgi + if [ -d apple2enh/extra ]; then \ + for i in apple2enh/extra/*.o; do \ + cp $$i apple2enh-`basename $$i`; \ + done \ + fi \ #----------------------------------------------------------------------------- # Atari atarilib: - export CFLAGS="-Osir -g -t atari -I../../include";\ - for i in atari common runtime conio dbg; do \ - $(MAKE) -C $$i || exit 1; \ - done - mv atari/crt0.o atari.o - for i in atari common runtime conio dbg; do \ + for i in atari common runtime conio dbg em joystick tgi zlib; do \ + $(MAKE) SYS=atari -C $$i || exit 1; \ $(AR) a atari.lib $$i/*.o;\ done + cp atari/atari-stdjoy.joy ataristd.joy + cp atari/atari-multijoy.joy atarimj8.joy + cp atari/atari-10.tgi atari10.tgi + cp atari/atari-10p2.tgi atr10p2.tgi + cp atari/atari-11.tgi atari11.tgi + cp atari/atari-14.tgi atari14.tgi + cp atari/atari-15.tgi atari15.tgi + cp atari/atari-15p2.tgi atr15p2.tgi + cp atari/atari-3.tgi atari3.tgi + cp atari/atari-4.tgi atari4.tgi + cp atari/atari-5.tgi atari5.tgi + cp atari/atari-6.tgi atari6.tgi + cp atari/atari-7.tgi atari7.tgi + cp atari/atari-8.tgi atari8.tgi + cp atari/atari-8p2.tgi atr8p2.tgi + cp atari/atari-9.tgi atari9.tgi + cp atari/atari-9p2.tgi atr9p2.tgi + + +#----------------------------------------------------------------------------- +# Oric Atmos + +atmoslib: + for i in atmos common conio runtime em joystick tgi zlib; do \ + $(MAKE) SYS=atmos -C $$i || exit 1; \ + $(AR) a atmos.lib $$i/*.o;\ + done + cp atmos/*.tgi . + +#----------------------------------------------------------------------------- +# C16, C116 + +c16lib: + for i in c16 cbm common runtime conio dbg em joystick tgi zlib; do \ + $(MAKE) SYS=c16 -C $$i || exit 1; \ + $(AR) a c16.lib $$i/*.o;\ + done + cp c16/*.joy . + cp c16/*.emd . #----------------------------------------------------------------------------- # C64 c64lib: - export CFLAGS="-Osir -g -t c64 -I../../include";\ - for i in c64 cbm common runtime conio dbg; do \ - $(MAKE) -C $$i || exit 1; \ - done - mv c64/crt0.o c64.o - for i in c64 cbm common runtime conio dbg; do \ + for i in c64 cbm common runtime conio dbg em joystick mouse serial tgi zlib; do \ + $(MAKE) SYS=c64 -C $$i || exit 1; \ $(AR) a c64.lib $$i/*.o;\ done + cp c64/*.emd . + cp c64/*.joy . + cp c64/c64-1351.mou . + cp c64/c64-joymouse.mou c64-joy.mou + cp c64/c64-potmouse.mou c64-pot.mou + cp c64/*.ser . + cp c64/c64-320-200-2.tgi c64-hi.tgi #----------------------------------------------------------------------------- # C128 c128lib: - export CFLAGS="-Osir -g -t c128 -I../../include";\ - for i in c128 cbm common runtime conio dbg; do \ - $(MAKE) -C $$i || exit 1; \ - done - mv c128/crt0.o c128.o - for i in c128 cbm common runtime conio dbg; do \ + for i in c128 cbm common runtime conio dbg em joystick mouse serial tgi zlib; do \ + $(MAKE) SYS=c128 -C $$i || exit 1; \ $(AR) a c128.lib $$i/*.o;\ done + cp c128/*.emd . + cp c128/*.joy . + cp c128/c128-1351.mou . + cp c128/c128-joymouse.mou c128-joy.mou + cp c128/c128-potmouse.mou c128-pot.mou + cp c128/*.ser . + cp c128/c128-640-200-2.tgi c128-vdc.tgi + cp c128/c128-640-480-2.tgi c128-vdc2.tgi + +#----------------------------------------------------------------------------- +# Commdore P500 / CBM 5x0 + +cbm510lib: + for i in cbm510 cbm common runtime conio dbg em joystick serial tgi zlib; do \ + $(MAKE) SYS=cbm510 -C $$i || exit 1; \ + $(AR) a cbm510.lib $$i/*.o;\ + done + cp cbm510/*.emd . + cp cbm510/cbm510-stdjoy.joy cbm510-std.joy + cp cbm510/cbm510-stdser.ser cbm510-std.ser #----------------------------------------------------------------------------- # PET-II series cbm610lib: - export CFLAGS="-Osir -g -t cbm610 -I../../include";\ - for i in cbm610 cbm common runtime conio dbg; do \ - $(MAKE) -C $$i || exit 1; \ - done - mv cbm610/crt0.o cbm610.o - for i in cbm610 cbm common runtime conio dbg; do \ + for i in cbm610 cbm common runtime conio dbg em joystick serial tgi zlib; do \ + $(MAKE) SYS=cbm610 -C $$i || exit 1; \ $(AR) a cbm610.lib $$i/*.o;\ done + cp cbm610/*.emd . + cp cbm610/cbm610-stdser.ser cbm610-std.ser #----------------------------------------------------------------------------- # GEOS on the C64/128 geoslib: - export CFLAGS="-Osir -g -t geos -I../../include";\ - for i in geos common runtime; do \ - $(MAKE) -C $$i || exit 1; \ + CC=../$(CC) \ + AS=../$(AS) \ + AR=../$(AR) \ + LD=../$(LD) \ + AFLAGS="-t geos -I../../../asminc" \ + CFLAGS="-Osir -g -T -t geos --forget-inc-paths -I. -I../../../include" \ + $(MAKE) -C geos || exit 1 + for i in em joystick tgi conio common runtime zlib; do \ + CC=$(CC) \ + AS=$(AS) \ + LD=$(LD) \ + AR=$(AR) \ + AFLAGS="-t geos -I../../asminc" \ + CFLAGS="-Osir -g -T -t geos --forget-inc-paths -I. -I../../include" \ + $(MAKE) SYS=geos -C $$i || exit 1; \ + 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 - for i in common runtime; do \ - $(AR) a geos.lib $$i/*.o;\ + cp geos/devel/*.emd . + cp geos/devel/*.joy . + cp geos/devel/geos-tgi.tgi geos-tgi.tgi + +#----------------------------------------------------------------------------- +# Lynx + +lynxlib: + for i in lynx common conio runtime em joystick serial tgi zlib; do \ + $(MAKE) SYS=lynx -C $$i || exit 1; \ + $(AR) a lynx.lib $$i/*.o;\ done + cp lynx/*.joy . + cp lynx/*.tgi . + cp lynx/*.ser . + +#----------------------------------------------------------------------------- +# NES + +neslib: + for i in nes common runtime conio em joystick tgi zlib; do \ + $(MAKE) SYS=nes -C $$i || exit 1; \ + $(AR) a nes.lib $$i/*.o;\ + done + cp nes/*.joy . #----------------------------------------------------------------------------- # CBM PET machines petlib: - export CFLAGS="-Osir -g -t pet -I../../include";\ - for i in pet cbm common runtime conio dbg; do \ - $(MAKE) -C $$i || exit 1; \ - done - mv pet/crt0.o pet.o - for i in pet cbm common runtime conio dbg; do \ + for i in pet cbm common runtime conio dbg em joystick tgi zlib; do \ + $(MAKE) SYS=pet -C $$i || exit 1; \ $(AR) a pet.lib $$i/*.o;\ done + cp pet/*.joy . #----------------------------------------------------------------------------- -# Commodore C116, C16 and Plus/4 +# Commodore Plus/4 plus4lib: - export CFLAGS="-Osir -g -t plus4 -I../../include";\ - for i in plus4 cbm common runtime conio dbg; do \ - $(MAKE) -C $$i || exit 1; \ - done - mv plus4/crt0.o plus4.o - for i in plus4 cbm common runtime conio dbg; do \ + for i in plus4 cbm common runtime conio dbg em joystick serial tgi zlib; do \ + $(MAKE) SYS=plus4 -C $$i || exit 1; \ $(AR) a plus4.lib $$i/*.o;\ done + cp plus4/*.joy . + cp plus4/*.ser . + +#----------------------------------------------------------------------------- +# Supervision + +supervisionlib: + for i in supervision common runtime; do \ + $(MAKE) SYS=supervision -C $$i || exit 1; \ + $(AR) a supervision.lib $$i/*.o;\ + done + +#----------------------------------------------------------------------------- +# Vic20 + +vic20lib: + for i in vic20 cbm common runtime conio dbg em joystick tgi zlib; do \ + $(MAKE) SYS=vic20 -C $$i || exit 1; \ + $(AR) a vic20.lib $$i/*.o;\ + done + cp vic20/*.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 cbm common conio dbg em joystick mouse runtime serial tgi zlib $(ALLTARGETS); do\ + $(MAKE) -C $$i clean; \ done .PHONY: zap zap: clean - @rm -f *.lib - + @for i in cbm common conio dbg em joystick mouse runtime tgi zlib $(ALLTARGETS); do\ + $(MAKE) -C $$i zap; \ + done + @$(RM) *.o *.emd *.joy *.lib *.tgi *.ser *.mou