# libc/z80 Makefile VPATH = @srcdir@ srcdir = @srcdir@ top_builddir = @top_builddir@ LIB_TYPE = @LIB_TYPE@ TOPDIR = ../../.. SCC = $(TOPDIR)/bin/sdcc -mz80 SAS = $(TOPDIR)/bin/as-z80 # override PORTDIR defined by super (parent) makefile override PORTDIR = ../build/z80 include $(srcdir)/../incl.mk Z80_FLOAT = $(COMMON_FLOAT) Z80_INT = $(COMMON_INT) Z80_LONG = $(COMMON_LONG) \ _divulong.c \ _mullong.c Z80_SDCC = $(COMMON_SDCC) \ _itoa.c \ _ltoa.c \ _startup.c \ sprintf.c \ vprintf.c Z80SOURCES = $(addprefix ../,$(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC)) Z8OBJECTS = $(patsubst %.c,%.o,$(Z80_FLOAT) $(Z80_INT) $(Z80_LONG) $(Z80_SDCC)) OBJ = div.o divsigned.o mod.o modsigned.o mul.o mulchar.o putchar.o shift.o stubs.o crt0_rle.o heap.o fstubs.o memmove.o strlen.o LIB = z80.lib CC = $(SCC) AS = $(SAS) ASFLAGS = -plosgff CFLAGS = -I$(srcdir)/../../include -I. --std-c99 all: $(PORTDIR)/$(LIB) $(PORTDIR)/crt0.o $(PORTDIR)/crt0.o: crt0.o cp crt0.o $(PORTDIR)/crt0.o $(PORTDIR)/$(LIB): $(OBJ) $(Z8OBJECTS) Makefile ifeq ($(LIB_TYPE), SDCCLIB) rm -f $@; \ ../../../bin/sdcclib -a $@ $(OBJ) $(Z8OBJECTS) else ifeq ($(LIB_TYPE), AR) ar -Scq $@ $(OBJ) $(Z8OBJECTS) else ifeq ($(LIB_TYPE), RANLIB) ar -Scq $@ $(OBJ) $(Z8OBJECTS) $(top_builddir)/bin/asranlib $@ else rm -f $@; \ for i in $(basename $(OBJ) $(Z8OBJECTS)); do echo $$i >>$@; done cp $(OBJ) $(Z8OBJECTS) $(PORTDIR) endif %.o: %.c $(CC) $(CFLAGS) -c $< %.o: %.s $(AS) $(ASFLAGS) $@ $< %.o: ../%.c $(CC) $(CFLAGS) -c $< clean: rm -f *.o *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib distclean: clean rm -f Makefile