From 6ec8091bd573872cc820a1cd383f15910caea61a Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 14 Nov 2007 23:11:07 +0000 Subject: fix the image builder git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9549 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/imagebuilder/Makefile | 36 +++++++------- target/imagebuilder/files/Makefile | 98 +++++++++++++++++--------------------- 2 files changed, 64 insertions(+), 70 deletions(-) (limited to 'target/imagebuilder') diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index 0dae2b12ec..607b79be0d 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -14,30 +14,32 @@ PKG_OS:=$(shell uname -s) PKG_CPU:=$(shell uname -m | sed "s/ //g") IB_NAME:=OpenWrt-ImageBuilder-$(BOARD)-$(KERNEL)-for-$(PKG_OS)-$(PKG_CPU) -IB_BUILD_DIR:=$(BUILD_DIR)/$(IB_NAME) +PKG_BUILD_DIR:=$(BUILD_DIR)/$(IB_NAME) +IB_KDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(KERNEL_BUILD_DIR)) all: compile $(BIN_DIR)/$(IB_NAME).tar.bz2: clean - rm -rf $(IB_BUILD_DIR) - mkdir -p $(IB_BUILD_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD) $(IB_BUILD_DIR)/staging_dir_$(ARCH)/bin $(IB_BUILD_DIR)/target/linux + rm -rf $(PKG_BUILD_DIR) + mkdir -p $(IB_KDIR) $(PKG_BUILD_DIR)/staging_dir/host $(PKG_BUILD_DIR)/target $(CP) \ $(INCLUDE_DIR) $(SCRIPT_DIR) $(PACKAGE_DIR) \ $(TOPDIR)/rules.mk $(TOPDIR)/.config \ - $(INCLUDE_DIR)/target.mk \ - $(TMP_DIR)/.packageinfo \ - $(TMP_DIR)/.targetinfo \ ./files/Makefile \ - $(IB_BUILD_DIR)/ - $(CP) $(TOOLCHAIN_DIR)/bin/* $(IB_BUILD_DIR)/staging_dir_$(ARCH)/bin - $(CP) $(TOPDIR)/target/linux/* $(IB_BUILD_DIR)/target/linux - rm -rf $(IB_BUILD_DIR)/target/linux/*/patches - -cp $(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)/* $(IB_BUILD_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD) # don't copy subdirectories here - find $(IB_BUILD_DIR) -name .svn | $(XARGS) rm -rf - find $(IB_BUILD_DIR) -name CVS | $(XARGS) rm -rf - (cd $(BUILD_DIR); \ - tar cfj $@ $(IB_NAME); \ - ) + $(TMP_DIR)/.targetinfo \ + $(TMP_DIR)/.packageinfo \ + $(PKG_BUILD_DIR)/ + $(CP) $(TOOLCHAIN_DIR)/bin $(PKG_BUILD_DIR)/staging_dir/host/ + $(CP) $(STAGING_DIR_HOST)/bin/* $(PKG_BUILD_DIR)/staging_dir/host/bin/ + $(CP) $(TOPDIR)/target/linux $(PKG_BUILD_DIR)/target/ + rm -rf \ + $(PKG_BUILD_DIR)/target/linux/*/patches \ + $(PKG_BUILD_DIR)/target/linux/*/*/patches + -cp $(KERNEL_BUILD_DIR)/* $(IB_KDIR)/ # don't copy subdirectories here + find $(PKG_BUILD_DIR) -name .svn | $(XARGS) rm -rf + find $(PKG_BUILD_DIR) -name CVS | $(XARGS) rm -rf + find $(PKG_BUILD_DIR) -name .git | $(XARGS) rm -rf + $(TAR) c -C $(BUILD_DIR) $(IB_NAME) | bzip2 -c > $@ download: prepare: @@ -45,4 +47,4 @@ compile: $(BIN_DIR)/$(IB_NAME).tar.bz2 install: compile clean: FORCE - rm -rf $(IB_BUILD_DIR) $(BIN_DIR)/$(IB_NAME).tar.bz2 + rm -rf $(PKG_BUILD_DIR) $(BIN_DIR)/$(IB_NAME).tar.bz2 diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index 2e309ae730..6429437395 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -1,61 +1,28 @@ -# Makefile for the OpenWrt Image Builder +# Makefile for OpenWrt # -# Copyright (C) 2006-2007 OpenWrt.org +# Copyright (C) 2007 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # -export TOPDIR=${CURDIR} - +TOPDIR:=${CURDIR} +LC_ALL:=C +LANG:=C +export TOPDIR LC_ALL LANG +export KBUILD_VERBOSE=99 all: help -include rules.mk -include .config +include $(TOPDIR)/include/host.mk -SHELL:=/usr/bin/env bash -export LC_ALL=C -export LANG=C -ifeq ($(KBUILD_VERBOSE),99) - MAKE:=3>/dev/null $(MAKE) +ifneq ($(OPENWRT_BUILD),1) + override OPENWRT_BUILD=1 + export OPENWRT_BUILD endif -export IS_TTY=$(shell tty -s && echo 1 || echo 0) -export IMAGEBUILDER=1 - -# override variables from rules.mk -PACKAGE_DIR:=$(TOPDIR)/packages -IPKG:= \ - IPKG_TMP="$(TOPDIR)/tmp/ipkgtmp" \ - IPKG_INSTROOT="$(TARGET_DIR)" \ - IPKG_CONF_DIR="$(TOPDIR)/tmp" \ - IPKG_OFFLINE_ROOT="$(TARGET_DIR)" \ - $(SCRIPT_DIR)/ipkg -force-defaults - - -define Profile/Default - ID:= - NAME:= - KCONFIG:= - PACKAGES:= -endef - -define AddProfile - $(eval $(call Profile/Default)) - $(eval $(call Profile/$(1))) - ifneq ($(ID),) - ifeq ($(PROFILE),) - PROFILE:=$(ID) - endif - $(ID)_NAME:=$(NAME) - $(ID)_PACKAGES:=$(PACKAGES) - ifeq ($(KCONFIG),) - PROFILE_LIST += \ - echo '$(ID):'; [ -z '$(NAME)' ] || echo ' $(NAME)'; echo ' Packages: $(PACKAGES)'; - endif - endif -endef -include .target.mk +include rules.mk +include $(INCLUDE_DIR)/debug.mk +include $(INCLUDE_DIR)/depends.mk define Helptext Available Commands: @@ -79,8 +46,33 @@ $(eval $(call shexport,Helptext)) help: FORCE echo "$$$(call shvar,Helptext)" + +# override variables from rules.mk +PACKAGE_DIR:=$(TOPDIR)/packages +IPKG:= \ + IPKG_TMP="$(TOPDIR)/tmp/ipkgtmp" \ + IPKG_INSTROOT="$(TARGET_DIR)" \ + IPKG_CONF_DIR="$(TOPDIR)/tmp" \ + IPKG_OFFLINE_ROOT="$(TARGET_DIR)" \ + $(SCRIPT_DIR)/ipkg -force-defaults + +define Profile + $(eval $(call Profile/Default)) + $(eval $(call Profile/$(1))) + ifeq ($(PROFILE),) + PROFILE:=$(1) + endif + $(1)_NAME:=$(NAME) + $(1)_PACKAGES:=$(PACKAGES) + PROFILE_LIST += \ + echo '$(1):'; [ -z '$(NAME)' ] || echo ' $(NAME)'; echo ' Packages: $(PACKAGES)'; +endef + +include $(INCLUDE_DIR)/target.mk + info: FORCE - echo 'Current Target: "$(BOARDNAME)"' + echo 'Current Target: "$(BOARD)$(if $(SUBTARGET), ($(BOARDNAME)))"' + echo 'Default Packages: $(DEFAULT_PACKAGES)' echo 'Available Profiles:' echo; $(PROFILE_LIST) @@ -100,7 +92,7 @@ image: echo 'Use "make info" to get a list of available target profiles'; \ false; \ fi - echo 'Building images for $(BOARDNAME) - $($(PROFILE)_NAME)' + echo 'Building images for $(BOARD) - $($(PROFILE)_NAME)' echo 'Packages: $(BUILD_PACKAGES)' echo rm -rf $(TARGET_DIR) @@ -132,7 +124,7 @@ copy_files: FORCE package_postinst: FORCE @echo @echo Activating init scripts - ( \ + @( \ cd $(BUILD_DIR)/root; \ for script in ./etc/init.d/*; do \ grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \ @@ -143,11 +135,11 @@ package_postinst: FORCE build_image: FORCE @echo @echo Building images... - $(NO_TRACE_MAKE) -C target/linux/$(BOARD)-$(KERNEL)/image install IB=1 + $(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 clean: rm -rf tmp $(TARGET_DIR) $(BIN_DIR) -.PHONY: FORCE + .SILENT: help info image -%: ; + -- cgit v1.2.3