* src/pic/device.c (pic14_assignConfigWordValue): remember assignments to
[fw/sdcc] / device / lib / pic16 / libio / Makefile
index 45242dd02468a9049ebf3ee6a24c4a08085a40ad..ba199bae49b78a14624e988df5c5cc8b66b9db23 100644 (file)
@@ -1,54 +1,51 @@
-#
-# Makefile - Makefile to build pic16 support libraries
-#
-# This file is part of the GNU PIC Library.
-#
-# January, 2004
-# The GNU PIC Library is maintained by,
-#      Vangelis Rokas <vrokas@otenet.gr>
-#
-# $Id$
-#
-#
-
-
-DIRS   =       adc
-
-
-LIB    = libio.lib
-
-all: build-libraries
-
-make-target: build-libraries
-
-build-libraries:
-       for dir in $(DIRS) ; do  \
-               $(MAKE) -C $$dir ; \
-       done;
-       gplib -c $(LIB) adc/*.o
-       mv -v $(LIB) ../bin
-       
-
-clean-intermediate:
-       @for dir in $(DIRS) ; do \
-               $(MAKE) -C $$dir clean-intermediate ; \
-       done ;
-       
-clean:
-       for dir in $(DIRS) ; do \
-               $(MAKE) -C $$dir clean; \
-       done ;
-       rm -fv $(LIB)
-
-
-real-clean: clean
-       find -name *.adb -print | xargs -- rm -fv ;
-       find -name *.p -print | xargs -- rm -fv ;
-       find -name *.d -print | xargs -- rm -fv ;
-       find -name *.dump* -print | xargs -- rm -fv ;
-       
-
-dep:
-       for dir in $(DIRS) ; do \
-               $(MAKE) -C $$dir dep; \
+###########################################################
+### Makefile for the GNU PIC Library
+###
+### Copyright (C) 2005 by Raphael Neider <rneider@web.de>
+###
+### The GNU PIC Library was originally designed and
+### implemented by
+###    Vangelis Rokas <vrokas@otenet.gr>
+###
+### It is currently maintained by
+###    Raphael Neider <rneider@web.de>
+###
+### This file may be distributed under the terms of the the
+### GNU General Public License (GPL). See COPYING for details.
+###
+### $Id$
+###
+
+topsrcdir=..
+
+SUBDIRS = adc i2c usart
+
+ifeq ($(origin IO_ARCH),undefined)
+include $(topsrcdir)/Makefile.common
+
+.PHONY : all clean clean-intermediate install
+
+# I create $(builddir)/$${arch} right here in order to prevent 
+# the sub-make's `builddir´ rules from aborting if another sub-make
+# already created the above directory (happened on Alpha).
+all clean clean-intermediate install :
+       $(Q)+cat $(topsrcdir)/pics.build \
+               | $(SED) -e "s,[ \t]*#.*$$,," \
+               | $(GREP) -v "^[ \t]*$$" \
+               | while read arch; do \
+                       [ "x$${arch}" = "x" ] \
+                       || ( [ -d "$(builddir)/$${arch}" ] || $(MKDIR) "$(builddir)/$${arch}"; \
+                               $(MAKE) MKLIB=libio18f$${arch}.lib builddir=$(builddir)/$${arch} ARCH=$${arch} IO_ARCH=$${arch} $(MAKECMDGOALS); ) \
+                       || exit 1; \
        done
+
+include $(topsrcdir)/Makefile.rules
+
+else
+
+include $(topsrcdir)/Makefile.subdir
+
+# prevent library to be build in $(SUBDIRS) as well
+unexport MKLIB
+
+endif