* device/lib/Makefile.in, device/lib/gbz80/Makefile.in,
[fw/sdcc] / device / lib / hc08 / Makefile.in
index 844b120ee7264a72687ccc1b866194ebb97b19a8..1df65adfe745bf50e9444633bf2e35f3282138ed 100644 (file)
@@ -2,12 +2,42 @@
 
 VPATH  = @srcdir@
 srcdir = @srcdir@
+top_builddir = @top_builddir@
+
+LIB_TYPE     = @LIB_TYPE@
 
 TOPDIR = ../../..
 
 SCC = $(TOPDIR)/bin/sdcc -mhc08
 SAS = $(TOPDIR)/bin/as6808
 
+PORTDIR = ../build/hc08
+
+include $(srcdir)/../incl.mk
+
+HC08_FLOAT = $(COMMON_FLOAT)
+
+HC08_INT = $(COMMON_INT) \
+  _divsint.c \
+  _modsint.c \
+  _moduint.c
+
+HC08_LONG = $(COMMON_LONG)
+
+HC08_SDCC = $(COMMON_SDCC) \
+  _itoa.c \
+  _ltoa.c \
+  _spx.c \
+  _startup.c \
+  _strlen.c \
+  _memmove.c \
+  _heap.c \
+  sprintf.c \
+  vprintf.c
+
+HC08SOURCES = $(addprefix ../,$(HC08_FLOAT) $(HC08_INT) $(HC08_LONG) $(HC08_SDCC))
+HC08OBJECTS = $(patsubst %.c,%.rel,$(HC08_FLOAT) $(HC08_INT) $(HC08_LONG) $(HC08_SDCC))
+
 OBJ = _ret.rel _divuint.rel _divulong.rel _mulint.rel _mullong.rel
 
 LIB = hc08.lib
@@ -15,13 +45,27 @@ CC = $(SCC)
 AS = $(SAS)
 ASFLAGS = -plosgff
 
-CFLAGS = -I../../include -I.
+CFLAGS = -I$(srcdir)/../../include -I. --std-c99
 
-all: $(LIB)
+all: $(PORTDIR)/$(LIB)
 
-$(LIB): $(OBJ) Makefile _dummy
-       rm -f $(LIB)
-       for i in $(OBJ); do echo $$i >> $(LIB); done
+$(PORTDIR)/$(LIB): $(OBJ) $(HC08OBJECTS) Makefile
+ifeq ($(LIB_TYPE), SDCCLIB)
+       rm -f $@; \
+       ../../../bin/sdcclib -a $@ $(OBJ) $(HC08OBJECTS)
+else ifeq ($(LIB_TYPE), AR)
+       ar -Scq $@ $(OBJ) $(HC08OBJECTS)
+else ifeq ($(LIB_TYPE), RANLIB)
+       ar -Scq $@ $(OBJ) $(HC08OBJECTS)
+       $(top_builddir)/bin/asranlib $@
+else
+       rm -f $@
+       for i in $(basename $(OBJ) $(HC08OBJECTS)); do echo $$i >>$@; done
+       cp $(OBJ) $(HC08OBJECTS) $(PORTDIR)
+endif
+
+%.rel: ../%.c
+       $(CC) $(CFLAGS) -c $<
 
 %.rel: %.c
        $(CC) $(CFLAGS) -c $<
@@ -29,10 +73,8 @@ $(LIB): $(OBJ) Makefile _dummy
 %.rel: %.asm
        $(AS) $(ASFLAGS) $@ $<
 
-_dummy:
-
 clean:
        rm -f *.rel *.sym *.lst *~ $(CLEANSPEC) *.dump* *.asm *.lib
 
 distclean: clean
-       rm -f Makefile
\ No newline at end of file
+       rm -f Makefile