base-files: /usr/lib/common.awk is only used by /bin/ipcalc.sh, move the code there
[openwrt.git] / package / Makefile
index 3c7b0b4..8e8c6c9 100644 (file)
@@ -12,13 +12,12 @@ $(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m))
 ifeq ($(SDK),1)
   $(curdir)/builddirs-install:=.
 else
-  $(curdir)/base-files/compile += $(curdir)/opkg/host/compile
   $(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
   $(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
   $(curdir)/builddirs-install:=. $(sort $(package-y))
 endif
 ifneq ($(IGNORE_ERRORS),)
-  $(curdir)/builddirs-ignore-compile:= $(if $(filter m y, $(IGNORE_ERRORS)),$(foreach m,$(IGNORE_ERRORS),$(package-$(m))),$(package-m))
+  $(curdir)/builddirs-ignore-compile:= $(if $(filter n m y, $(IGNORE_ERRORS)),$(foreach m,$(IGNORE_ERRORS),$(package-$(subst n,,$(m)))),$(package-m) $(package-))
 endif
 
 $(curdir)/install:=$(curdir)/install-cleanup
@@ -65,6 +64,14 @@ endif
 $(curdir)/rootfs-prepare: $(TMP_DIR)/.build
        @-$(MAKE) package/preconfig
        @if [ -d $(TOPDIR)/files ]; then \
+               ( cd $(TOPDIR)/files; find -type f ) | \
+                       ( cd $(TARGET_DIR); while :; do \
+                               read FILE; \
+                               [ -z "$$FILE" ] && break; \
+                               [ -L "$$FILE" ] || continue; \
+                               echo "Removing symlink $(TARGET_DIR)/$$FILE"; \
+                               rm -f "$$FILE"; \
+                       done; ); \
                $(CP) $(TOPDIR)/files/. $(TARGET_DIR); \
        fi
        @mkdir -p $(TARGET_DIR)/etc/rc.d
@@ -89,9 +96,9 @@ $(curdir)/index: FORCE
 $(curdir)/flags-install:= -j1
 
 $(eval $(call stampfile,$(curdir),package,prereq,.config))
-$(eval $(call stampfile,$(curdir),package,cleanup))
-$(eval $(call stampfile,$(curdir),package,compile))
-$(eval $(call stampfile,$(curdir),package,install))
-$(eval $(call stampfile,$(curdir),package,rootfs-prepare))
+$(eval $(call stampfile,$(curdir),package,cleanup,$(TMP_DIR)/.build))
+$(eval $(call stampfile,$(curdir),package,compile,$(TMP_DIR)/.build))
+$(eval $(call stampfile,$(curdir),package,install,$(TMP_DIR)/.build))
+$(eval $(call stampfile,$(curdir),package,rootfs-prepare,$(TMP_DIR)/.build))
 
 $(eval $(call subdir,$(curdir)))