* src/pic16/gen.c (genCast): fixed typo
[fw/sdcc] / device / lib / pic16 / Makefile.subdir
index 102973be19219377a0b100810defeaac85cc3445..eb4a8be9148383315c539d2d46db57aa5352c433 100644 (file)
@@ -1,14 +1,14 @@
 ###########################################################
 ### Makefile.subdir for the GNU PIC Library
 ###
-### Copyright (C) 2005 by Raphael Neider <rneider@web.de>
+### Copyright (C) 2005 by Raphael Neider <rneider AT 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>
+###    Raphael Neider <rneider AT web.de>
 ###
 ### This file may be distributed under the terms of the the
 ### GNU General Public License (GPL). See COPYING for details.
 ### $Id$
 ###
 
-include $(topsrcdir)/Makefile.common
+include $(top_builddir)/Makefile.common
 
 SUBDIRS ?= 
 MKLIB  ?= 
 
 # fallback: if builddir is not specified via the command line...
-builddir ?= build/$(patsubst $(shell cd $(topsrcdir); pwd)/%,%,$(CURDIR))
+builddir ?= build/$(patsubst $(shell cd $(top_builddir); pwd)/%,%,$(CURDIR))
 
-C_SRC  ?= $(wildcard *.c)
-S_SRC  ?= $(wildcard *.S)
-OBJS   ?= $(addprefix $(topsrcdir)/$(builddir)/,$(C_SRC:.c=.o) $(S_SRC:.S=.o))
+C_SRC  ?= $(notdir $(wildcard $(srcdir)/*.c))
+S_SRC  ?= $(notdir $(wildcard $(srcdir)/*.S))
+OBJS   ?= $(addprefix $(top_builddir)/$(builddir)/,$(C_SRC:.c=.o) $(S_SRC:.S=.o))
 LIB_O  ?= $(OBJS)
 
 ifneq (,$(strip $(MKLIB)))
-LIB_LIB = $(topsrcdir)/$(builddir)/$(MKLIB)
+LIB_LIB = $(top_builddir)/$(builddir)/$(MKLIB)
 TARGETS ?= $(LIB_LIB)
 else
 LIB_LIB = 
 #TARGETS ?= $(OBJS)
 endif
 
-.PHONY : all install clean clean-intermediate
+.PHONY : all install clean clean-intermediate $(addprefix install,$(TARGETS))
+
+ifndef SILENT
+ECHO=echo
+else
+ECHO=true
+endif
 
 all : install
 
 ifneq (,$(strip $(TARGETS)))
+
+$(addprefix install,$(TARGETS)): install% : %
+       @-if [ -e "$<" ]; then \
+       [ -d "$(top_builddir)/$(installdir)" ] || $(MKDIR) "$(top_builddir)/$(installdir)"; \
+       $(ECHO) "[INSTALL] $(patsubst $(top_builddir)/$(builddir)/%,%,$<)"; \
+       [ ! -e "$<" ] || $(CP) "$<" "$(top_builddir)/$(installdir)"; \
+       fi
+
 # usually install $(LIB_LIB) or $(OBJS), race condition in "[ -d x ] || mkdir x"
-install : recurse $(OBJS) $(LIB_LIB)
-       @[ -d "$(topsrcdir)/$(installdir)" ] || ( $(MKDIR) "$(topsrcdir)/$(installdir)" || true );
-ifndef SILENT
-       @echo "[INSTALL] $(patsubst $(topsrcdir)/$(builddir)/%,%,$(TARGETS))";
-endif
-       $(Q)$(CP) $(TARGETS) "$(topsrcdir)/$(installdir)"
+install : recurse $(OBJS) $(LIB_LIB) $(addprefix install,$(TARGETS))
 else
 # used in subdirs like libc/ctype whose files
 # are contained in a parent's library
@@ -63,11 +72,13 @@ clean : recurse
        @-echo "dummy" > .dummy
        $(Q)-$(RM) .dummy $(TARGETS)
        @-echo "dummy" > .dummy
-       $(Q)-$(RM) .dummy $(addprefix $(topsrcdir)/$(installdir)/,$(notdir $(TARGETS)))
-       $(Q)-[ ! -d "$(topsrcdir)/$(builddir)" ] || $(RMDIR) "$(topsrcdir)/$(builddir)"
+       $(Q)-$(RM) .dummy $(addprefix $(top_builddir)/$(installdir)/,$(notdir $(TARGETS)))
+       $(Q)-[ ! -d "$(top_builddir)/$(builddir)" ] || $(RMDIR) "$(top_builddir)/$(builddir)"
+
+distclean : clean
 
 clean-intermediate : recurse
        @-echo "dummy" > .dummy
        $(Q)-$(RM) .dummy $(foreach suf,p lst hex cod sym,$(OBJS:.o=.$(suf)))
        
-include $(topsrcdir)/Makefile.rules
+include $(top_srcdir)/Makefile.rules