X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=lfs%2FConfig;h=76f279da96236003618f0b176873aea8f80d1ff6;hb=ae45fb5193d1e45acf9b4405064571edaafb0b31;hp=e647e753f2e2955f70faa4bb25857d40e407ebf3;hpb=f1effdf75849c86828765adce612508e472af442;p=people%2Fpmueller%2Fipfire-2.x.git diff --git a/lfs/Config b/lfs/Config index e647e753f2..76f279da96 100644 --- a/lfs/Config +++ b/lfs/Config @@ -31,16 +31,36 @@ ############################################################################### # Cleanup environment from any variables -unexport BUILD_ARCH BUILD_PLATFORM BUILDTARGET CROSSTARGET TOOLCHAIN +unexport BUILD_ARCH BUILD_PLATFORM BUILDTARGET CROSSTARGET TOOLCHAIN TOOLS_DIR ifeq "$(BUILD_ARCH)" "aarch64" IS_64BIT = 1 endif +ifeq "$(BUILD_ARCH)" "armv7hl" + IS_32BIT = 1 +endif + +ifeq "$(BUILD_ARCH)" "armv5tel" + IS_32BIT = 1 +endif + ifeq "$(BUILD_ARCH)" "x86_64" IS_64BIT = 1 endif +ifeq "$(BUILD_ARCH)" "i586" + IS_32BIT = 1 +endif + +ifeq "$(TOOLCHAIN)" "1" + PREFIX = $(TOOLS_DIR) +else + PREFIX = /usr +endif + +TAR_OPTIONS = --xz + # URLs that are common sources of downloads. If you're having trouble with # a site you should change its URL to that of a suitable mirror site. # @@ -71,6 +91,19 @@ DIR_TMP = /tmp # Add the compiler location and version and specs to the ccache hash CCACHE_COMPILERCHECK += $(shell gcc -dumpspecs 2>/dev/null | md5sum | cut -d ' ' -f1) +# We support EFI on x86_64 and aarch64 +ifeq "$(BUILD_ARCH)" "x86_64" + EFI = 1 + EFI_ARCH = x64 + GRUB_ARCH = $(BUILD_ARCH) +endif + +ifeq "$(BUILD_ARCH)" "aarch64" + EFI = 1 + EFI_ARCH = aa64 + GRUB_ARCH = arm64 +endif + ############################################################################### # Common Macro Definitions ############################################################################### @@ -80,7 +113,7 @@ CCACHE_COMPILERCHECK += $(shell gcc -dumpspecs 2>/dev/null | md5sum | cut -d ' ' # define FIND_FILES cd $(ROOT)/ && find -mount \ - \( -path './tools' -or -path './tmp' -or -path './usr/src' \ + \( -path '.$(TOOLS_DIR)' -or -path './tmp' -or -path './usr/src' \ -or -path './run' -or -path './dev' -or -path './proc' \ -or -path './install' \) -prune -or -print | sort endef @@ -128,7 +161,7 @@ define POSTBUILD if [ -s "$(TARGET)_diff" ]; then \ LFS_SCRIPT=$(firstword $(MAKEFILE_LIST))$(KCFG); \ echo $(LFS_SCRIPT); \ - ROOTFILE=$$(find $(DIR_SRC)/config/rootfiles/{common,packages}/{$(BUILD_ARCH),} -maxdepth 1 -type f -name $$LFS_SCRIPT 2>/dev/null | head -1); \ + ROOTFILE=$$(find -L $(DIR_SRC)/config/rootfiles/{common,packages}/{$(BUILD_ARCH),} -maxdepth 1 -type f -name $$LFS_SCRIPT 2>/dev/null | head -1); \ if [ "$$ROOTFILE" = "" ]; then \ touch $(TARGET)_missing_rootfile; \ ROOTFILE=$(TARGET)_missing_rootfile ; \ @@ -197,13 +230,11 @@ define PAK sed -e 's/BUILDTARGET/$(BUILDTARGET)/g' -e 's/KVER/$(KVER)/g' -e 's/MACHINE/$(BUILD_ARCH)/g' -i /install/packages/package/ROOTFILES sed -e 's/xxxKVERxxx/$(KVER)/g' -i /install/packages/package/install.sh chmod 755 /install/packages/package/{{,un}install,update}.sh - cd / && tar cf /install/packages/package/files.tmp --files-from=/install/packages/package/ROOTFILES --exclude='#*' \ - -p --numeric-owner + cd / && tar cfp /install/packages/package/files.tmp --numeric-owner --exclude='#*' --files-from=/install/packages/package/ROOTFILES # Double tar to remove double files - tar xf /install/packages/package/files.tmp -C /install/packages/package/tmp/ \ - -p --numeric-owner + tar xfp /install/packages/package/files.tmp --numeric-owner -C /install/packages/package/tmp/ rm -f /install/packages/package/files.tmp - cd /install/packages/package/tmp/ && XZ_OPT=-T0 tar -c -p --numeric-owner -J -f /install/packages/package/files.tar.xz * + cd /install/packages/package/tmp/ && tar cf - -p --numeric-owner * | xz $(XZ_OPT) > /install/packages/package/files.tar.xz rm -r /install/packages/package/tmp -cat /install/packages/package/ROOTFILES | grep -v "#" > /install/packages/package/ROOTFILES.tmp mv /install/packages/package/ROOTFILES.tmp /install/packages/package/ROOTFILES @@ -221,5 +252,13 @@ define INSTALL_INITSCRIPT install -m 754 -v $(DIR_SRC)/src/initscripts/packages/$(1) /etc/rc.d/init.d/$(1) endef +ifeq "$(BUILD_ARCH)" "aarch64" +define UPDATE_AUTOMAKE + for i in $$(find $(DIR_APP) -name config.guess -o -name config.sub); do \ + cp -vf /usr/share/automake*/$$(basename $${i}) $${i}; \ + done +endef +endif + test: $(call INSTALL_INITSCRIPT,hostapd)