1# 2 3include ../../Make.config 4 5vpath %.c ../cimpl/ 6vpath %.asm c/sccz80 7vpath %.asm z80 8 9AFILES = $(notdir $(wildcard c/sccz80/*.asm)) $(notdir $(wildcard z80/*.asm)) 10CFILES = amax.c amin.c ceil.c fmod.c ftoa.c ftoe.c cosh.c sinh.c tanh.c atan2.c atof.c 11OBJECTS = $(AFILES:.asm=.o) $(CFILES:.c=.o) 12 13CFLAGS += -D__CPC__ -D__NATIVE_MATH__ -D__MATH_CPC 14 15all: dirs $(OUTPUT_DIRECTORY)/cpc_math.lib $(OUTPUT_DIRECTORY)/464_math.lib $(OUTPUT_DIRECTORY)/664_math.lib $(OUTPUT_DIRECTORY)/6128_math.lib 16 17 18$(OUTPUT_DIRECTORY)/cpc_math.lib: $(addprefix obj/cpc/, $(OBJECTS)) 19 TYPE=cpc $(LIBLINKER) -x$(OUTPUT_DIRECTORY)/cpc_math @cpcmath.lst 20 21$(OUTPUT_DIRECTORY)/464_math.lib: $(addprefix obj/464/, $(OBJECTS)) 22 TYPE=464 $(LIBLINKER) -x$(OUTPUT_DIRECTORY)/464_math @cpcmath.lst 23 24$(OUTPUT_DIRECTORY)/664_math.lib: $(addprefix obj/664/, $(OBJECTS)) 25 TYPE=664 $(LIBLINKER) -x$(OUTPUT_DIRECTORY)/664_math @cpcmath.lst 26 27$(OUTPUT_DIRECTORY)/6128_math.lib: $(addprefix obj/6128/, $(OBJECTS)) 28 TYPE=6128 $(LIBLINKER) -x$(OUTPUT_DIRECTORY)/6128_math @cpcmath.lst 29 30obj/cpc/%.o: %.asm 31 $(Q)$(ASSEMBLER) -I../ -I$(Z88DK_LIB) -mz80 -D__CLASSIC $^ 32 @mv $(^:.asm=.o) $@ 33 34obj/464/%.o: %.asm 35 $(Q)$(ASSEMBLER) -DforCPC464 -I../ -I$(Z88DK_LIB) -mz80 -D__CLASSIC $^ 36 @mv $(^:.asm=.o) $@ 37 38obj/664/%.o: %.asm 39 $(Q)$(ASSEMBLER) -DforCPC664 -I../ -I$(Z88DK_LIB) -mz80 -D__CLASSIC $^ 40 @mv $(^:.asm=.o) $@ 41 42obj/6128/%.o: %.asm 43 $(Q)$(ASSEMBLER) -DforCPC6128 -I../ -I$(Z88DK_LIB) -mz80 -D__CLASSIC $^ 44 @mv $(^:.asm=.o) $@ 45 46obj/cpc/%.o: %.c 47 $(ZCC) +test -mz80 $(CFLAGS) -o $@ $^ 48 49obj/464/%.o: %.c 50 $(ZCC) +test -mz80 $(CFLAGS) -o $@ $^ 51 52obj/664/%.o: %.c 53 $(ZCC) +test -mz80 $(CFLAGS) -o $@ $^ 54 55obj/6128/%.o: %.c 56 $(ZCC) +test -mz80 $(CFLAGS) -o $@ $^ 57 58dirs: 59 @mkdir -p obj/cpc/c/sccz80 obj/464/c/sccz80 obj/664/c/sccz80 obj/6128/c/sccz80 60 @mkdir -p obj/cpc/z80 obj/464/z80 obj/664/z80 obj/6128/z80 61 62clean: 63 $(RM) *.o* *.sym *.map *.err zcc_opt.def *.i *.opt 64 $(RM) -fr obj 65 66