* sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
[fw/sdcc] / device / lib / Makefile.in
index 81449e3ba65161287d9a3f083197ab725b30b7c6..2ab439cd15afc36d0448b625a08166422e944edc 100644 (file)
@@ -12,10 +12,10 @@ CPP         = @CPP@
 INSTALL                = @INSTALL@
 CP              = @CP@
 
-ifeq ($(shell uname -s),SunOS)
-CP_U   = $(CP)
+ifeq ($(shell uname -s),Linux)
+CP_U   = $(CP) -u
 else
-CP_U   = $(CP) -p
+CP_U   = $(CP)
 endif
 
 PRJDIR         = ../..
@@ -176,7 +176,7 @@ include incl.mk
 
 # Compiling entire program or any subproject
 # ------------------------------------------
-all: checkconf models model-ds390 model-ds400 model-z80 model-gbz80 model-hc08 model-pic16
+all: checkconf models small-mcs51-stack-auto model-ds390 model-ds400 model-z80 model-gbz80 model-hc08 model-pic16 model-pic14
 
 objects: build-dir $(OBJECTS) port-specific-objects lib-files clean_intermediate
 
@@ -187,6 +187,11 @@ models:
          done \
        fi
 
+small-mcs51-stack-auto:
+       if [ "`grep mcs51 ../../ports.build`" = mcs51 ]; then \
+         $(MAKE) MODELFLAGS="--model-small --stack-auto" PORT=small-stack-auto PORTINCDIR=$(INCDIR)/mcs51 objects; \
+       fi
+
 model-mcs51-stack-auto:
        if [ "`grep mcs51 ../../ports.build`" = mcs51 ]; then \
          for model in $(MODELS); do \
@@ -248,6 +253,11 @@ model-pic16:
 objects-pic16: build-dir port-specific-objects-pic16 clean_intermediate-pic16
        cd $(PORTDIR); ls *$(OEXT) > $(PORT).lib
 
+# yes, we do reuse the *-pic16 rules for pic14
+model-pic14:
+       if [ "`grep pic ../../ports.build | grep -v pic16`" = pic ]; then \
+         $(MAKE) MODELFLAGS="-mpic14" PORT=pic OEXT=.lib objects-pic16; \
+       fi
 
 build-dir: $(PORTDIR)
 
@@ -280,8 +290,17 @@ clean_intermediate-pic16:
 # ---------------------------------------------------
 install: all installdirs
        $(CP_U) -r $(BUILDDIR)/* $(sdcc_libdir)
-       $(CP_U) -r ds390 ds400 gbz80 z80 hc08 *.c $(sdcc_libdir)/src
-       rm -r `find $(sdcc_libdir)/src -name '*.rel' -or -name '*.dump*' -or -name '*.sym' -or -name '*.o' -or -name '*.lst' -or -name '*.asm' -or -name 'CVS'`
+       $(CP_U) -r $(MODELS) mcs51 ds390 ds400 gbz80 z80 hc08 pic pic16 *.c $(sdcc_libdir)/src
+       for srcdir in $(MODELS) ds390 ds400 gbz80 z80 hc08 pic pic16; do \
+         find $(sdcc_libdir)/src/$$srcdir -depth \
+           \( -name '*.rel' -o -name '*.dump*' -o -name '*.sym' -o -name '*.o' -o -name '*.lib' -o \
+           -name '*.lst' -o -name '*.asm' -o -name 'CVS' -o -name 'build' -o -name 'bin' \) \
+           -exec rm -r {} \; ; \
+       done
+       find $(sdcc_libdir)/src/mcs51 -depth \
+         \( -name '*.rel' -o -name '*.dump*' -o -name '*.sym' -o -name '*.o' -o -name '*.lib' -o \
+         -name '*.lst' -o -name 'CVS' -o -name 'build' -o -name 'bin' \) \
+         -exec rm -r {} \;
 
 # Deleting all the installed files
 # --------------------------------
@@ -303,13 +322,12 @@ installcheck:
 installdirs:
        [ -d $(sdcc_libdir) ] || mkdir -p $(sdcc_libdir)
        for model in $(MODELS); do \
-        [ -d $(sdcc_libdir)/$$model ] || \
-        mkdir -p $(sdcc_libdir)/$$model; \
+         [ -d $(sdcc_libdir)/$$model ] || \
+         mkdir -p $(sdcc_libdir)/$$model; \
+       done
+       for libdir in small-stack-auto ds390 ds400 hc08 pic16 pic; do \
+         [ -d $(sdcc_libdir)/$$libdir ] || mkdir -p $(sdcc_libdir)/$$libdir; \
        done
-       [ -d $(sdcc_libdir)/ds390 ] || mkdir -p $(sdcc_libdir)/ds390
-       [ -d $(sdcc_libdir)/ds400 ] || mkdir -p $(sdcc_libdir)/ds400
-       [ -d $(sdcc_libdir)/hc08 ] || mkdir -p $(sdcc_libdir)/hc08
-       [ -d $(sdcc_libdir)/pic16 ] || mkdir -p $(sdcc_libdir)/pic16
        mkdir -p $(sdcc_libdir)/src
 
 # Creating dependencies