aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2005-04-08 09:08:38 +0000
committerFelix Fietkau <nbd@openwrt.org>2005-04-08 09:08:38 +0000
commite295e9cf7cfbd7f30c932549588867c137c9d103 (patch)
tree463c013e23557a5b9082ada45a3d7b583857450e
parent767792e7a621d580a23e8ba0df1bf2c1f664f744 (diff)
downloadmaster-187ad058-e295e9cf7cfbd7f30c932549588867c137c9d103.tar.gz
master-187ad058-e295e9cf7cfbd7f30c932549588867c137c9d103.tar.bz2
master-187ad058-e295e9cf7cfbd7f30c932549588867c137c9d103.zip
add some fixes for parallel build (does not work with -j4 yet, but it gets most packages compiled now)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@577 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--Makefile2
-rw-r--r--package/Makefile4
-rw-r--r--package/fping/Makefile6
-rw-r--r--package/iproute2/Makefile6
-rw-r--r--package/libelf/Makefile6
-rw-r--r--package/linux/Makefile1
-rw-r--r--package/ncurses/Makefile4
-rw-r--r--package/openssl/Makefile8
-rw-r--r--package/openwrt/libnvram/Makefile4
-rw-r--r--package/tcp_wrappers/Makefile4
-rw-r--r--rules.mk2
-rw-r--r--target/Makefile1
12 files changed, 32 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index fd2a4ad8e4..e966188187 100644
--- a/Makefile
+++ b/Makefile
@@ -45,6 +45,8 @@ include $(TOPDIR)/rules.mk
all: world
+.NOTPARALLEL:
+
##############################################################
#
# Build the toolchain
diff --git a/package/Makefile b/package/Makefile
index 99696770c1..2db33703b2 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -1,6 +1,7 @@
# Main makefile for the packages
include $(TOPDIR)/rules.mk
+package-:=tcp_wrappers
package-y:=openwrt
package-$(BR2_PACKAGE_AICCU) += aiccu
package-$(BR2_PACKAGE_ARPTABLES) += arptables
@@ -52,6 +53,7 @@ package-$(BR2_PACKAGE_ZLIB) += zlib
package-$(BR2_PACKAGE_DHCPFWD) += dhcp-forwarder
package-$(BR2_PACKAGE_LIBNET) += libnet
package-$(BR2_PACKAGE_LIBMYSQLCLIENT) += mysql
+package-$(BR2_PACKAGE_LIBPCAP) += libpcap
package-$(BR2_PACKAGE_LIBPQ) += postgresql
all: compile install
@@ -77,7 +79,7 @@ libnet-compile: libpcap-compile
mysql-compile: ncurses-compile zlib-compile
postgresql-compile: zlib-compile
-$(patsubst %,%-prepare,$(package-y) $(package-m)): linux-install
+$(patsubst %,%-prepare,$(package-y) $(package-m) $(package-)): linux-install
%-prepare:
@[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare
diff --git a/package/fping/Makefile b/package/fping/Makefile
index 20a8ade91b..123ebe68a2 100644
--- a/package/fping/Makefile
+++ b/package/fping/Makefile
@@ -14,6 +14,8 @@ PKG_CAT:=zcat
PKG_IPK:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR:=$(PKG_BUILD_DIR)/ipkg
+.NOTPARALLEL:
+
$(DL_DIR)/$(PKG_SOURCE):
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
@@ -46,11 +48,11 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/$(PKG_NAME)4: $(PKG_BUILD_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS)" -C $(PKG_BUILD_DIR) clean $(PKG_NAME)
+ $(MAKE) -j1 CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS)" -C $(PKG_BUILD_DIR) clean $(PKG_NAME)
mv $(PKG_BUILD_DIR)/$(PKG_NAME) $(PKG_BUILD_DIR)/$(PKG_NAME)4
$(PKG_BUILD_DIR)/$(PKG_NAME)6: $(PKG_BUILD_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS) -DIPV6=1" -C $(PKG_BUILD_DIR) clean $(PKG_NAME)
+ $(MAKE) -j1 CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS) -DIPV6=1" -C $(PKG_BUILD_DIR) clean $(PKG_NAME)
mv $(PKG_BUILD_DIR)/$(PKG_NAME) $(PKG_BUILD_DIR)/$(PKG_NAME)6
$(PKG_IPK): $(PKG_BUILD_DIR)/$(PKG_NAME)4 $(PKG_BUILD_DIR)/$(PKG_NAME)6
diff --git a/package/iproute2/Makefile b/package/iproute2/Makefile
index e442129062..5c6b96eb0f 100644
--- a/package/iproute2/Makefile
+++ b/package/iproute2/Makefile
@@ -18,6 +18,8 @@ PKG_IP_DIR:=$(PKG_BUILD_DIR)/ipkg/ip
PKG_TC:=$(PACKAGE_DIR)/tc_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_TC_DIR:=$(PKG_BUILD_DIR)/ipkg/tc
+.NOTPARALLEL:
+
$(DL_DIR)/$(PKG_SOURCE):
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL)
@@ -39,10 +41,10 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/tc/tc: $(PKG_BUILD_DIR)/.configured
- $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) KERNEL_INCLUDE=$(LINUX_DIR)/include all tc/tc
+ $(MAKE) -j1 -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) KERNEL_INCLUDE=$(LINUX_DIR)/include all tc/tc
$(PKG_BUILD_DIR)/ip/ip: $(PKG_BUILD_DIR)/.configured
- $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) KERNEL_INCLUDE=$(LINUX_DIR)/include all ip/ip
+ $(MAKE) -j1 -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) KERNEL_INCLUDE=$(LINUX_DIR)/include all ip/ip
$(PKG_IP): $(PKG_BUILD_DIR)/ip/ip $(PACKAGE_DIR)
diff --git a/package/libelf/Makefile b/package/libelf/Makefile
index 8971e86069..0cfb23c523 100644
--- a/package/libelf/Makefile
+++ b/package/libelf/Makefile
@@ -15,6 +15,8 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
PKG_IPK := $(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
PKG_IPK_DIR :=$(PKG_BUILD_DIR)/ipkg/
+.NOTPARALLEL:
+
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE)
@@ -38,11 +40,11 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.unpacked
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/lib/libelf.so.$(LIBELF_VER): $(PKG_BUILD_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld ARCH=$(ARCH) \
+ $(MAKE) -j1 CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld ARCH=$(ARCH) \
-C $(PKG_BUILD_DIR)
$(STAGING_DIR)/lib/libelf.so: $(PKG_BUILD_DIR)/lib/libelf.so.$(LIBELF_VER)
- $(MAKE) CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld ARCH=$(ARCH) \
+ $(MAKE) -j1 CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld ARCH=$(ARCH) \
-C $(PKG_BUILD_DIR)/lib instroot="$(STAGING_DIR)" install
diff --git a/package/linux/Makefile b/package/linux/Makefile
index 29a1bfa309..3f730355b9 100644
--- a/package/linux/Makefile
+++ b/package/linux/Makefile
@@ -10,6 +10,7 @@ PKG_RELEASE := 1
TARGETS :=
INSTALL_TARGETS :=
+.NOTPARALLEL:
define KMOD_template
ifeq ($$(strip $(4)),)
diff --git a/package/ncurses/Makefile b/package/ncurses/Makefile
index 3835af6c1a..3d73e7747f 100644
--- a/package/ncurses/Makefile
+++ b/package/ncurses/Makefile
@@ -20,6 +20,8 @@ PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
PKG_IPK := $(PACKAGE_DIR)/lib$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
+.NOTPARALLEL:
+
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE)
@@ -35,7 +37,7 @@ $(PKG_IPK): $(PKG_BUILD_DIR)/ipkg/rules
cd $(PKG_BUILD_DIR); \
TOPDIR="$(TOPDIR)" IPKG_RULES_INC="$(TOPDIR)/rules.mk" \
INSTALL_DIR="$(STAGING_DIR)" \
- ./ipkg/rules package
+ $(MAKE) -j1 -f ./ipkg/rules package
$(IPKG_STATE_DIR)/info/lib$(PKG_NAME).list: $(PKG_IPK)
$(IPKG) install $(PKG_IPK)
diff --git a/package/openssl/Makefile b/package/openssl/Makefile
index e72f8f68cc..afa5f304e4 100644
--- a/package/openssl/Makefile
+++ b/package/openssl/Makefile
@@ -16,6 +16,8 @@ PKG_IPK := $(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
OPENSSL_NO_CIPHERS:=no-idea no-mdc2 no-rc5 no-rc2 no-md2 no-md4
+.NOTPARALLEL:
+
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE)
@@ -38,13 +40,13 @@ $(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
touch $(PKG_BUILD_DIR)/.configured
$(PKG_BUILD_DIR)/apps/openssl: $(PKG_BUILD_DIR)/.configured
- $(MAKE) CC=$(TARGET_CC) -C $(PKG_BUILD_DIR) all build-shared
+ $(MAKE) -j1 CC=$(TARGET_CC) -C $(PKG_BUILD_DIR) all build-shared
# Work around openssl build bug to link libssl.so with libcrypto.so.
-rm $(PKG_BUILD_DIR)/libssl.so.*.*.*
- $(MAKE) CC=$(TARGET_CC) -C $(PKG_BUILD_DIR) do_linux-shared
+ $(MAKE) -j1 CC=$(TARGET_CC) -C $(PKG_BUILD_DIR) do_linux-shared
$(STAGING_DIR)/lib/libssl.so: $(PKG_BUILD_DIR)/apps/openssl
- $(MAKE) CC=$(TARGET_CC) INSTALL_PREFIX=$(STAGING_DIR) -C $(PKG_BUILD_DIR) install_sw
+ $(MAKE) -j1 CC=$(TARGET_CC) INSTALL_PREFIX=$(STAGING_DIR) -C $(PKG_BUILD_DIR) install_sw
cp -fa $(PKG_BUILD_DIR)/libcrypto.so* $(STAGING_DIR)/lib/
chmod a-x $(STAGING_DIR)/lib/libcrypto.so.0.9.7
(cd $(STAGING_DIR)/lib; ln -fs libcrypto.so.0.9.7 libcrypto.so)
diff --git a/package/openwrt/libnvram/Makefile b/package/openwrt/libnvram/Makefile
index 8bb4c5c35e..75a1afcd6a 100644
--- a/package/openwrt/libnvram/Makefile
+++ b/package/openwrt/libnvram/Makefile
@@ -21,8 +21,8 @@ $(foreach obj,$(OBJS),$(eval $(call OBJ_template,$(obj))))
$(PKG_BUILD_DIR):
mkdir -p $(PKG_BUILD_DIR)
-$(PKG_BUILD_DIR)/nvram: $(PKG_BUILD_DIR)/main.o
- $(TARGET_CC) $(TARGET_CFLAGS) -o $@ $^ -L$(PKG_BUILD_DIR) -lnvram
+$(PKG_BUILD_DIR)/nvram: $(PKG_BUILD_DIR)/main.o $(PKG_BUILD_DIR)/libnvram.so
+ $(TARGET_CC) $(TARGET_CFLAGS) -o $@ $< -L$(PKG_BUILD_DIR) -lnvram
$(PKG_BUILD_DIR)/libnvram.so: $(LIBNVRAM_OBJS)
$(TARGET_CC) -shared -o $@ $^
diff --git a/package/tcp_wrappers/Makefile b/package/tcp_wrappers/Makefile
index 84f98160d5..40e7331af1 100644
--- a/package/tcp_wrappers/Makefile
+++ b/package/tcp_wrappers/Makefile
@@ -16,6 +16,7 @@ PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
# only need libwrap.a at the moment
#PKG_IPK := $(PACKAGE_DIR)/zlib_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
+.NOTPARALLEL:
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
@@ -28,8 +29,7 @@ $(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
touch $(PKG_BUILD_DIR)/.patched
$(PKG_BUILD_DIR)/libwrap.a: $(PKG_BUILD_DIR)/.patched
-
- $(MAKE) -C $(PKG_BUILD_DIR) \
+ $(MAKE) -j1 -C $(PKG_BUILD_DIR) \
$(TARGET_CONFIGURE_OPTS) \
COPTS="$(TARGET_CFLAGS)" \
LIBS=-lnsl \
diff --git a/rules.mk b/rules.mk
index d403260ddb..b8ed526a0c 100644
--- a/rules.mk
+++ b/rules.mk
@@ -1,6 +1,6 @@
include $(TOPDIR)/.config
MAKE1=make
-MAKE=make -j$(BR2_JLEVEL)
+MAKEFLAGS=-j$(BR2_JLEVEL)
# Strip off the annoying quoting
ARCH:=$(strip $(subst ",, $(BR2_ARCH)))
diff --git a/target/Makefile b/target/Makefile
index 6a1bd954a0..437609a28b 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -73,6 +73,7 @@ $(BIN_DIR):
mkdir -p $(BIN_DIR)
$(INSTALL_TARGET_DIRS): lzma-loader-compile
+$(IMAGE_TARGETS): $(patsubst %,%-install,$(TARGET_DIRS))
compile: $(patsubst %,%-compile,$(TARGET_DIRS))
install: utils-install lzma-install $(LINUX_IMAGE) $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS)
clean: $(patsubst %,%-clean,$(TARGET_DIRS)) image_clean