mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-18 21:28:02 +00:00
fix the image builder
SVN-Revision: 9549
This commit is contained in:
parent
874935fe41
commit
dfa7618bd6
@ -5,22 +5,6 @@
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
# default device type
|
||||
DEVICE_TYPE?=router
|
||||
|
||||
# Default packages - the really basic set
|
||||
DEFAULT_PACKAGES:=base-files libgcc uclibc busybox dropbear mtd mtd
|
||||
# For router targets
|
||||
DEFAULT_PACKAGES.router:=dnsmasq iptables ppp ppp-mod-pppoe iptables kmod-ipt-nathelper bridge
|
||||
|
||||
# Additional packages for Linux 2.6
|
||||
ifneq ($(KERNEL),2.4)
|
||||
DEFAULT_PACKAGES += udevtrigger hotplug2
|
||||
endif
|
||||
|
||||
# Add device specific packages
|
||||
DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE))
|
||||
|
||||
KERNELNAME=
|
||||
ifneq (,$(findstring x86,$(BOARD)))
|
||||
KERNELNAME="bzImage"
|
||||
|
@ -5,13 +5,29 @@
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
ifneq ($(__target_inc),1)
|
||||
__target_inc=1
|
||||
|
||||
# default device type
|
||||
DEVICE_TYPE?=router
|
||||
|
||||
# Default packages - the really basic set
|
||||
DEFAULT_PACKAGES:=base-files libgcc uclibc busybox dropbear mtd mtd
|
||||
# For router targets
|
||||
DEFAULT_PACKAGES.router:=dnsmasq iptables ppp ppp-mod-pppoe iptables kmod-ipt-nathelper bridge
|
||||
|
||||
# Additional packages for Linux 2.6
|
||||
ifneq ($(KERNEL),2.4)
|
||||
DEFAULT_PACKAGES += udevtrigger hotplug2
|
||||
endif
|
||||
|
||||
# Add device specific packages
|
||||
DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE))
|
||||
|
||||
ifneq ($(DUMP),)
|
||||
all: dumpinfo
|
||||
endif
|
||||
|
||||
ifneq ($(__target_inc),1)
|
||||
__target_inc=1
|
||||
|
||||
target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
|
||||
ifeq ($(DUMP),)
|
||||
PLATFORM_DIR:=$(TOPDIR)/target/linux/$(BOARD)
|
||||
@ -39,6 +55,7 @@ define Profile/Default
|
||||
PACKAGES:=
|
||||
endef
|
||||
|
||||
ifndef Profile
|
||||
define Profile
|
||||
$(eval $(call Profile/Default))
|
||||
$(eval $(call Profile/$(1)))
|
||||
@ -62,6 +79,7 @@ define Profile
|
||||
PROFILE=$(1)
|
||||
endif
|
||||
endef
|
||||
endif
|
||||
|
||||
ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR))
|
||||
define IncludeProfiles
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
%: ;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user