* device/lib/pic16/**: build pic16 library using autotools for
[fw/sdcc] / device / lib / Makefile.in
index 900daff6eaa5da8ab7874962f249a11b4fac1b8e..235bd35b5e1e527416378ffa7e0d424ce126e83c 100644 (file)
@@ -302,18 +302,18 @@ objects-hc08: build-dir $(HC08OBJECTS) port-specific-objects clean_intermediate
 
 model-pic16:
        if [ "`grep pic16 $(top_builddir)/ports.build`" = pic16 ]; then \
-         $(MAKE) MODELFLAGS="-mpic16" PORT=pic16 OEXT=.lib objects-pic16; \
+         $(MAKE) PORT=pic16 objects-pic16; \
        fi
 
 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 $(top_builddir)/ports.build | grep -v pic16`" = pic ]; then \
-         $(MAKE) MODELFLAGS="-mpic14" PORT=pic OEXT=.lib objects-pic16; \
+         $(MAKE) PORT=pic objects-pic14; \
        fi
 
+objects-pic14: build-dir port-specific-objects-pic14 clean_intermediate-pic14
+
 build-dir: $(PORTDIR)
 
 $(PORTDIR):
@@ -326,6 +326,13 @@ port-specific-objects:
        fi
 
 port-specific-objects-pic16:
+       -if [ -f $(PORT)/Makefile ]; then \
+         $(MAKE) -C $(PORT); \
+         cp -f $(PORT)/*/lib*.a $(PORTDIR); \
+         cp -f $(PORT)/*/crt0*.o $(PORTDIR); \
+       fi
+
+port-specific-objects-pic14:
        -if [ -f $(PORT)/Makefile ]; then \
          mkdir -p $(PORT)/bin; \
          $(MAKE) -C $(PORT); \
@@ -341,6 +348,9 @@ clean_intermediate:
 clean_intermediate-pic16:
        $(MAKE) -C $(PORT) clean-intermediate
 
+clean_intermediate-pic14:
+       $(MAKE) -C $(PORT) clean-intermediate
+
 # Compiling and installing everything and runing test
 # ---------------------------------------------------
 install: all installdirs