mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 22:23:27 +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.
|
# 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=
|
KERNELNAME=
|
||||||
ifneq (,$(findstring x86,$(BOARD)))
|
ifneq (,$(findstring x86,$(BOARD)))
|
||||||
KERNELNAME="bzImage"
|
KERNELNAME="bzImage"
|
||||||
|
@ -5,13 +5,29 @@
|
|||||||
# See /LICENSE for more information.
|
# 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),)
|
ifneq ($(DUMP),)
|
||||||
all: dumpinfo
|
all: dumpinfo
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(__target_inc),1)
|
|
||||||
__target_inc=1
|
|
||||||
|
|
||||||
target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
|
target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
|
||||||
ifeq ($(DUMP),)
|
ifeq ($(DUMP),)
|
||||||
PLATFORM_DIR:=$(TOPDIR)/target/linux/$(BOARD)
|
PLATFORM_DIR:=$(TOPDIR)/target/linux/$(BOARD)
|
||||||
@ -39,6 +55,7 @@ define Profile/Default
|
|||||||
PACKAGES:=
|
PACKAGES:=
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
ifndef Profile
|
||||||
define Profile
|
define Profile
|
||||||
$(eval $(call Profile/Default))
|
$(eval $(call Profile/Default))
|
||||||
$(eval $(call Profile/$(1)))
|
$(eval $(call Profile/$(1)))
|
||||||
@ -62,6 +79,7 @@ define Profile
|
|||||||
PROFILE=$(1)
|
PROFILE=$(1)
|
||||||
endif
|
endif
|
||||||
endef
|
endef
|
||||||
|
endif
|
||||||
|
|
||||||
ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR))
|
ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR))
|
||||||
define IncludeProfiles
|
define IncludeProfiles
|
||||||
|
@ -14,30 +14,32 @@ PKG_OS:=$(shell uname -s)
|
|||||||
PKG_CPU:=$(shell uname -m | sed "s/ //g")
|
PKG_CPU:=$(shell uname -m | sed "s/ //g")
|
||||||
|
|
||||||
IB_NAME:=OpenWrt-ImageBuilder-$(BOARD)-$(KERNEL)-for-$(PKG_OS)-$(PKG_CPU)
|
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
|
all: compile
|
||||||
|
|
||||||
$(BIN_DIR)/$(IB_NAME).tar.bz2: clean
|
$(BIN_DIR)/$(IB_NAME).tar.bz2: clean
|
||||||
rm -rf $(IB_BUILD_DIR)
|
rm -rf $(PKG_BUILD_DIR)
|
||||||
mkdir -p $(IB_BUILD_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD) $(IB_BUILD_DIR)/staging_dir_$(ARCH)/bin $(IB_BUILD_DIR)/target/linux
|
mkdir -p $(IB_KDIR) $(PKG_BUILD_DIR)/staging_dir/host $(PKG_BUILD_DIR)/target
|
||||||
$(CP) \
|
$(CP) \
|
||||||
$(INCLUDE_DIR) $(SCRIPT_DIR) $(PACKAGE_DIR) \
|
$(INCLUDE_DIR) $(SCRIPT_DIR) $(PACKAGE_DIR) \
|
||||||
$(TOPDIR)/rules.mk $(TOPDIR)/.config \
|
$(TOPDIR)/rules.mk $(TOPDIR)/.config \
|
||||||
$(INCLUDE_DIR)/target.mk \
|
|
||||||
$(TMP_DIR)/.packageinfo \
|
|
||||||
$(TMP_DIR)/.targetinfo \
|
|
||||||
./files/Makefile \
|
./files/Makefile \
|
||||||
$(IB_BUILD_DIR)/
|
$(TMP_DIR)/.targetinfo \
|
||||||
$(CP) $(TOOLCHAIN_DIR)/bin/* $(IB_BUILD_DIR)/staging_dir_$(ARCH)/bin
|
$(TMP_DIR)/.packageinfo \
|
||||||
$(CP) $(TOPDIR)/target/linux/* $(IB_BUILD_DIR)/target/linux
|
$(PKG_BUILD_DIR)/
|
||||||
rm -rf $(IB_BUILD_DIR)/target/linux/*/patches
|
$(CP) $(TOOLCHAIN_DIR)/bin $(PKG_BUILD_DIR)/staging_dir/host/
|
||||||
-cp $(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)/* $(IB_BUILD_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD) # don't copy subdirectories here
|
$(CP) $(STAGING_DIR_HOST)/bin/* $(PKG_BUILD_DIR)/staging_dir/host/bin/
|
||||||
find $(IB_BUILD_DIR) -name .svn | $(XARGS) rm -rf
|
$(CP) $(TOPDIR)/target/linux $(PKG_BUILD_DIR)/target/
|
||||||
find $(IB_BUILD_DIR) -name CVS | $(XARGS) rm -rf
|
rm -rf \
|
||||||
(cd $(BUILD_DIR); \
|
$(PKG_BUILD_DIR)/target/linux/*/patches \
|
||||||
tar cfj $@ $(IB_NAME); \
|
$(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:
|
download:
|
||||||
prepare:
|
prepare:
|
||||||
@ -45,4 +47,4 @@ compile: $(BIN_DIR)/$(IB_NAME).tar.bz2
|
|||||||
install: compile
|
install: compile
|
||||||
|
|
||||||
clean: FORCE
|
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.
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
# See /LICENSE for more information.
|
# 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
|
all: help
|
||||||
|
|
||||||
include rules.mk
|
include $(TOPDIR)/include/host.mk
|
||||||
include .config
|
|
||||||
|
|
||||||
SHELL:=/usr/bin/env bash
|
ifneq ($(OPENWRT_BUILD),1)
|
||||||
export LC_ALL=C
|
override OPENWRT_BUILD=1
|
||||||
export LANG=C
|
export OPENWRT_BUILD
|
||||||
ifeq ($(KBUILD_VERBOSE),99)
|
|
||||||
MAKE:=3>/dev/null $(MAKE)
|
|
||||||
endif
|
endif
|
||||||
export IS_TTY=$(shell tty -s && echo 1 || echo 0)
|
|
||||||
export IMAGEBUILDER=1
|
|
||||||
|
|
||||||
# override variables from rules.mk
|
include rules.mk
|
||||||
PACKAGE_DIR:=$(TOPDIR)/packages
|
include $(INCLUDE_DIR)/debug.mk
|
||||||
IPKG:= \
|
include $(INCLUDE_DIR)/depends.mk
|
||||||
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
|
|
||||||
|
|
||||||
define Helptext
|
define Helptext
|
||||||
Available Commands:
|
Available Commands:
|
||||||
@ -79,8 +46,33 @@ $(eval $(call shexport,Helptext))
|
|||||||
help: FORCE
|
help: FORCE
|
||||||
echo "$$$(call shvar,Helptext)"
|
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
|
info: FORCE
|
||||||
echo 'Current Target: "$(BOARDNAME)"'
|
echo 'Current Target: "$(BOARD)$(if $(SUBTARGET), ($(BOARDNAME)))"'
|
||||||
|
echo 'Default Packages: $(DEFAULT_PACKAGES)'
|
||||||
echo 'Available Profiles:'
|
echo 'Available Profiles:'
|
||||||
echo; $(PROFILE_LIST)
|
echo; $(PROFILE_LIST)
|
||||||
|
|
||||||
@ -100,7 +92,7 @@ image:
|
|||||||
echo 'Use "make info" to get a list of available target profiles'; \
|
echo 'Use "make info" to get a list of available target profiles'; \
|
||||||
false; \
|
false; \
|
||||||
fi
|
fi
|
||||||
echo 'Building images for $(BOARDNAME) - $($(PROFILE)_NAME)'
|
echo 'Building images for $(BOARD) - $($(PROFILE)_NAME)'
|
||||||
echo 'Packages: $(BUILD_PACKAGES)'
|
echo 'Packages: $(BUILD_PACKAGES)'
|
||||||
echo
|
echo
|
||||||
rm -rf $(TARGET_DIR)
|
rm -rf $(TARGET_DIR)
|
||||||
@ -132,7 +124,7 @@ copy_files: FORCE
|
|||||||
package_postinst: FORCE
|
package_postinst: FORCE
|
||||||
@echo
|
@echo
|
||||||
@echo Activating init scripts
|
@echo Activating init scripts
|
||||||
( \
|
@( \
|
||||||
cd $(BUILD_DIR)/root; \
|
cd $(BUILD_DIR)/root; \
|
||||||
for script in ./etc/init.d/*; do \
|
for script in ./etc/init.d/*; do \
|
||||||
grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \
|
grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \
|
||||||
@ -143,11 +135,11 @@ package_postinst: FORCE
|
|||||||
build_image: FORCE
|
build_image: FORCE
|
||||||
@echo
|
@echo
|
||||||
@echo Building images...
|
@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:
|
clean:
|
||||||
rm -rf tmp $(TARGET_DIR) $(BIN_DIR)
|
rm -rf tmp $(TARGET_DIR) $(BIN_DIR)
|
||||||
|
|
||||||
.PHONY: FORCE
|
|
||||||
.SILENT: help info image
|
.SILENT: help info image
|
||||||
%: ;
|
|
||||||
|
Loading…
Reference in New Issue
Block a user