1 ###########################################################
2 ### Makefile.rules for the GNU PIC Library
4 ### Copyright (C) 2005 by Raphael Neider <rneider AT web.de>
6 ### The GNU PIC Library was originally designed and
8 ### Vangelis Rokas <vrokas@otenet.gr>
10 ### It is currently maintained by
11 ### Raphael Neider <rneider AT web.de>
13 ### This file may be distributed under the terms of the the
14 ### GNU General Public License (GPL). See COPYING for details.
20 $(top_builddir)/$(builddir)/%.d : %.c
22 @echo "[ CPP ] ==> $(patsubst $(top_builddir)/%,%,$@)"
24 $(Q)$(CPP) $(CPPFLAGS) -o "$@" "$<"
27 $(top_builddir)/$(builddir)/%.o : %.S
29 @echo "[ AS ] ==> $(patsubst $(top_builddir)/%,%,$@)"
31 $(Q)$(AS) $(ASFLAGS) -o "$@" -c "$<"
34 $(top_builddir)/$(builddir)/%.o : %.c
36 @echo "[ CC ] ==> $(patsubst $(top_builddir)/%,%,$@)"
38 $(Q)$(CC) $(CFLAGS) -o "$@" -c "$<"
41 ifneq (,$(strip $(LIB_O)))
44 @echo "[ LIB ] $(patsubst $(top_builddir)/%,%,$@) <== $(patsubst $(top_builddir)/$(builddir)/%,%,$^)"
46 $(Q)$(RM) "$@"; $(LIB) $(LIBFLAGS) "$@" $^
50 @echo "[ LIB ] $(patsubst $(top_builddir)/%,%,$@) <== **/*.o"
51 $(Q)$(RM) "$@"; LIB_O=`find "$(top_builddir)/$(builddir)" -name "*.o"`; echo $${LIB_O}; [ "x$${LIB_O}" = "x" ] || $(LIB) $(LIBFLAGS) "$@" $${LIB_O}
53 $(Q)$(RM) "$@"; LIB_O=`find "$(top_builddir)/$(builddir)" -name "*.o"`; [ "x$${LIB_O}" = "x" ] || $(LIB) $(LIBFLAGS) "$@" $${LIB_O}
57 .PHONY : recurse force
59 # build sub-directories
60 ifneq (,$(strip $(SUBDIRS)))
62 $(Q)+for DIR in $(SUBDIRS) ; do \
63 [ -f "$(srcdir)/$${DIR}.ignore" ] && $(GREP) "^$${ARCH}$$" "$(srcdir)/$${DIR}.ignore" > /dev/null 2>&1 || ( \
64 $(MKDIR) "$(top_builddir)/$(builddir)/$${DIR}"; \
65 $(MAKE) -C "$${DIR}" builddir="$(builddir)/$${DIR}" $(MAKECMDGOALS); \
73 # target to force remaking of (seemingly) independent targets