* device/lib/Makefile.in, device/lib/ds390/Makefile.in,
[fw/sdcc] / device / lib / ds400 / Makefile.in
index 92287c2d9c97b7eaab8f4b4b0f7d343a8c314fd2..af20c72a37806f466e3639500dbec402ed92c95b 100644 (file)
@@ -1,7 +1,13 @@
-CC = ../../../bin/sdcc
-
 VPATH  = @srcdir@
 srcdir = @srcdir@
+top_builddir = @top_builddir@
+
+LIB_TYPE     = @LIB_TYPE@
+
+CC = ../../../bin/sdcc
+
+# override PORTDIR defined by super (parent) makefile
+override PORTDIR = ../build/ds400
 
 #VERBOSE = --verbose
 
@@ -10,9 +16,9 @@ OBJECTS = tinibios.rel memcpyx.rel ds400rom.rel
 SOURCES = $(patsubst %.rel,%.c,$(OBJECTS))
 
 CPPFLAGS = -I$(srcdir)/../../include
-CFLAGS = -mds400 $(CPPFLAGS) $(VERBOSE) --std-c89
+CFLAGS = -mds400 $(CPPFLAGS) $(VERBOSE) --std-c99
 
-all: $(OBJECTS) libds400.lib
+all: $(OBJECTS) $(PORTDIR)/libds400.lib
 
 clean:
        rm -f *.lst *.rel *.sym *.cdb *.asm \#* *~ *.rst *.hex 
@@ -21,11 +27,20 @@ clean:
 distclean: clean
        rm -f Makefile Makefile.dep
 
-libds400.lib: $(OBJECTS)
+$(PORTDIR)/libds400.lib: $(OBJECTS)
+ifeq ($(LIB_TYPE), SDCCLIB)
        rm -f $@; \
-       for libfile in $(OBJECTS); do \
-               echo $$libfile >>$@; \
-       done;
+       ../../../bin/sdcclib -a $@ $(OBJECTS)
+else ifeq ($(LIB_TYPE), AR)
+       ar -Scq $@ $(OBJECTS)
+else ifeq ($(LIB_TYPE), RANLIB)
+       ar -Scq $@ $(OBJECTS)
+       $(top_builddir)/bin/asranlib $@
+else
+       rm -f $@;
+       for libfile in $(basename $(OBJECTS)); do echo $$libfile >>$@; done
+       cp $(OBJECTS) $(PORTDIR)
+endif
 
 %.rel: %.c
        $(CC) -c $(CFLAGS) $<
@@ -43,5 +58,5 @@ Makefile.dep: $(SOURCES)
        done
 
 ifeq "$(findstring $(MAKECMDGOALS),clean distclean)" ""
-  include Makefile.dep
+  -include Makefile.dep
 endif