X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=device%2Flib%2Fz80%2FMakefile.in;h=af72030743ea0d9fbf0465570d3f227e9db7a7f2;hb=fdfbc7f2466cba296ef3316b84dd4d902add4872;hp=39976cf4125e8564597e1419a77d0ed55aec3f9d;hpb=344553f6c8b36ab814dd921a5be6642a8babdf66;p=fw%2Fsdcc diff --git a/device/lib/z80/Makefile.in b/device/lib/z80/Makefile.in index 39976cf4..af720307 100644 --- a/device/lib/z80/Makefile.in +++ b/device/lib/z80/Makefile.in @@ -2,34 +2,74 @@ VPATH = @srcdir@ srcdir = @srcdir@ +top_builddir = @top_builddir@ + +LIB_TYPE = @LIB_TYPE@ TOPDIR = ../../.. SCC = $(TOPDIR)/bin/sdcc -mz80 SAS = $(TOPDIR)/bin/as-z80 -OBJ = div.o mul.o putchar.o shift.o stubs.o crt0_rle.o heap.o fstubs.o +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 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. +CFLAGS = -I$(srcdir)/../../include -I. --std-c99 + +all: $(PORTDIR)/$(LIB) $(PORTDIR)/crt0.o -all: $(LIB) crt0.o +$(PORTDIR)/crt0.o: crt0.o + cp crt0.o $(PORTDIR)/crt0.o -$(LIB): $(OBJ) Makefile _dummy - rm -f $(LIB) - for i in $(OBJ); do echo $$i >> $(LIB); done +$(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 -.c.o: +%.o: ../%.c $(CC) $(CFLAGS) -c $< -.s.o: - $(AS) $(ASFLAGS) $@ $< +%.o: %.c + $(CC) $(CFLAGS) -c $< -_dummy: +%.o: %.s + $(AS) $(ASFLAGS) $@ $< clean: rm -f *.o *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib