* Makefile.in, configure.in, configure,
[fw/sdcc] / device / lib / mcs51 / Makefile.in
index 33fe0d1e053514e26bf0b044145d8654d588399e..16a2deab337b3a4aac6743f739c105be731772bc 100644 (file)
@@ -4,9 +4,12 @@ srcdir = @srcdir@
 top_srcdir   = @top_srcdir@
 top_builddir = @top_builddir@
 
+LIB_TYPE     = @LIB_TYPE@
 SAS = $(top_builddir)/bin/asx8051
 SCC = $(top_builddir)/bin/sdcc
 
+PORTDIR = ../build/$(PORT)
+
 OBJ = crtstart.rel crtxinit.rel crtxclear.rel crtclear.rel crtxstack.rel \
       crtpagesfr.rel crtbank.rel crtcall.rel
 
@@ -16,13 +19,24 @@ CC = $(SCC)
 AS = $(SAS)
 ASFLAGS = -plosgff
 
-CFLAGS = -I$(top_srcdir)/include
-
-all: $(LIB)
-
-$(LIB): $(OBJ) Makefile
-       rm -f $(LIB)
-       for i in $(OBJ); do echo $$i >> $(LIB); done
+CFLAGS = -I$(top_srcdir)/include --std-c89
+
+all: $(PORTDIR)/$(LIB)
+
+$(PORTDIR)/$(LIB): $(OBJ) Makefile
+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
 
 %.rel: %.c
        $(CC) $(CFLAGS) -c $<
@@ -37,4 +51,4 @@ clean:
        rm -f *.rel *.sym *.lst *~ $(CLEANSPEC) *.dump* *.lib
 
 distclean: clean
-       rm -r Makefile
\ No newline at end of file
+       rm -r Makefile