VPATH = @srcdir@
srcdir = @srcdir@
+top_builddir = @top_builddir@
+
+LIB_TYPE = @LIB_TYPE@
TOPDIR = ../../..
SCC = $(TOPDIR)/bin/sdcc -mgbz80
SAS = $(TOPDIR)/bin/as-gbz80
+PORTDIR = ../build/gbz80
+
OBJ = div.o mul.o putchar.o printf.o shift.o stubs.o crt0_rle.o heap.o fstubs.o
LIB = gbz80.lib
CC = $(SCC)
AS = $(SAS)
-CFLAGS = -I../../include -I.
-
-all: $(LIB) crt0.o
-
-$(LIB): $(OBJ) Makefile _dummy
- rm -f $(LIB)
- for i in $(OBJ); do echo $$i >> $(LIB); done
+CFLAGS = -I$(srcdir)/../../include -I. --std-c89
+
+all: $(PORTDIR)/$(LIB) crt0.o
+
+$(PORTDIR)/$(LIB): $(OBJ) Makefile _dummy
+ifeq ($(LIB_TYPE), SDCCLIB)
+ rm -f $@; \
+ ../../../bin/sdcclib -a $@ $(OBJ)
+else ifeq ($(LIB_TYPE), AR)
+ ar -Scq $@ $(OBJ)
+else ifeq ($(LIB_TYPE), RANLIB)
+ ar -Scq $@ $(OBJ)
+ $(top_builddir)/bin/asranlib $@
+else
+ rm -f $@
+ for i in $(basename $(OBJ)); do echo $$i >>$@; done
+ cp $(OBJ) $(PORTDIR)
+endif
.c.o:
$(CC) $(CFLAGS) -c $<
rm -f *.o *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib
distclean: clean
- rm -f Makefile
\ No newline at end of file
+ rm -f Makefile