summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk')
-rw-r--r--mk/build.mk174
-rw-r--r--mk/buildhlp.mk4
-rw-r--r--mk/fetch.mk1
-rw-r--r--mk/host-bottom.mk20
-rw-r--r--mk/host.mk13
-rw-r--r--mk/image.mk41
-rw-r--r--mk/kernel-build.mk12
-rw-r--r--mk/kernel-vars.mk31
-rw-r--r--mk/kernel-ver.mk28
-rw-r--r--mk/mirrors.mk13
-rw-r--r--mk/modules.mk17
-rw-r--r--mk/package.mk6
-rw-r--r--mk/pkg-bottom.mk2
-rw-r--r--mk/rootfs.mk13
-rw-r--r--mk/vars.mk80
15 files changed, 218 insertions, 237 deletions
diff --git a/mk/build.mk b/mk/build.mk
index c4371f477..78079bea9 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -9,7 +9,7 @@ $(error your umask is not 022)
endif
CONFIG_CONFIG_IN = Config.in
-CONFIG = config
+CONFIG = adk/config
DEFCONFIG= ADK_DEBUG=n \
ADK_STATIC=n \
ADK_WGET_TIMEOUT=180 \
@@ -41,8 +41,6 @@ DEFCONFIG= ADK_DEBUG=n \
ADK_PKG_TEST=n \
ADK_PKG_MPDBOX=n \
ADK_PKG_DEVELOPMENT=n \
- ADK_PKG_CONSOLE=n \
- ADK_PKG_TEST=n \
ADK_TOOLCHAIN_GCC_USE_SSP=n \
ADK_TOOLCHAIN_GCC_USE_LTO=n \
BUSYBOX_IFPLUGD=n \
@@ -81,6 +79,7 @@ DEFCONFIG= ADK_DEBUG=n \
BUSYBOX_FEATURE_VI_REGEX_SEARCH=n \
ADK_KERNEL_RT2X00_DEBUG=n \
ADK_KERNEL_ATH5K_DEBUG=n \
+ ADK_KERNEL_BUG=n \
ADK_KERNEL_DEBUG_WITH_KGDB=n
noconfig_targets:= menuconfig \
@@ -94,13 +93,13 @@ POSTCONFIG= -@\
if [ -f .adkinit ];then rm .adkinit;\
else \
if [ -f .config.old ];then \
- $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild;\
+ $(TOPDIR)/adk/tools/pkgrebuild;\
rebuild=0; \
if [ "$$(grep ^BUSYBOX .config|md5sum)" != "$$(grep ^BUSYBOX .config.old|md5sum)" ];then \
touch .rebuild.busybox;\
rebuild=1;\
fi; \
- for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE ADK_TARGET_QEMU_MICROBLAZE_MODEL;do \
+ for i in ADK_RUNTIME_PASSWORD ADK_RUNTIME_TMPFS_SIZE ADK_RUNTIME_HOSTNAME ADK_TARGET_ROOTFS ADK_RUNTIME_CONSOLE ADK_RUNTIME_GETTY ADK_RUNTIME_SHELL;do \
if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \
touch .rebuild.base-files;\
rebuild=1;\
@@ -122,7 +121,7 @@ POSTCONFIG= -@\
make kernelclean;\
fi; \
if [ "$$(grep ^ADK_LINUX_ARM_WITH_THUMB .config|md5sum)" != "$$(grep ^ADK_LINUX_ARM_WITH_THUMB .config.old|md5sum)" ];then \
- echo "You should make cleantarget, after changing thumb mode";\
+ echo "You should make cleandir, after changing thumb mode";\
fi; \
if [ $$rebuild -eq 1 ];then \
cp .config .config.old;\
@@ -140,27 +139,26 @@ include $(TOPDIR)/rules.mk
all: world
-${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/Makefile)
- $(STAGING_HOST_DIR)/usr/bin/depmaker > ${TOPDIR}/package/Depends.mk
+${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/adk/tools/depmaker
+ $(TOPDIR)/adk/tools/depmaker > ${TOPDIR}/package/Depends.mk
.NOTPARALLEL:
-.PHONY: all world clean cleantarget cleandir cleantoolchain distclean image_clean
+.PHONY: all world clean cleandir cleantoolchain distclean image_clean
world:
- mkdir -p $(DL_DIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \
- $(PACKAGE_DIR) $(TOOLS_BUILD_DIR) $(STAGING_HOST_DIR)/usr/bin \
- $(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps
+ mkdir -p $(DL_DIR) $(HOST_BUILD_DIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \
+ $(STAGING_HOST_DIR) $(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps
${BASH} ${TOPDIR}/scripts/scan-pkgs.sh
${BASH} ${TOPDIR}/scripts/update-sys
${BASH} ${TOPDIR}/scripts/update-pkg
ifeq ($(ADK_TOOLCHAIN),y)
ifeq ($(ADK_TOOLCHAIN_ONLY),y)
- $(MAKE) -f mk/build.mk tools/install toolchain/fixup package/compile
+ $(MAKE) -f mk/build.mk package/hostcompile toolchain/fixup package/compile
else
- $(MAKE) -f mk/build.mk tools/install toolchain/fixup package/compile root_clean package/install
+ $(MAKE) -f mk/build.mk package/hostcompile toolchain/fixup package/compile root_clean package/install
endif
else
- $(MAKE) -f mk/build.mk tools/install toolchain/fixup target/config-prepare target/compile package/compile root_clean package/install target/install package_index
+ $(MAKE) -f mk/build.mk package/hostcompile toolchain/fixup target/config-prepare target/compile package/compile root_clean package/install target/install package_index
endif
package_index:
@@ -171,7 +169,11 @@ endif
${STAGING_TARGET_DIR} ${STAGING_TARGET_DIR}/etc ${STAGING_HOST_DIR}:
mkdir -p ${STAGING_TARGET_DIR}/{bin,etc,lib,usr/bin,usr/include,usr/lib/pkgconfig} \
- ${STAGING_HOST_DIR}/{bin,lib,usr/bin,usr/lib,usr/include}
+ ${STAGING_HOST_DIR}/{usr/bin,usr/lib,usr/include}
+ for i in lib64 lib32 libx32;do \
+ cd ${STAGING_TARGET_DIR}/; ln -sf lib $$i; \
+ cd ${STAGING_TARGET_DIR}/usr; ln -sf lib $$i; \
+ done
${STAGING_TARGET_DIR}/etc/ipkg.conf: ${STAGING_TARGET_DIR}/etc
ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
@@ -188,9 +190,6 @@ target/%:
toolchain/%: ${STAGING_TARGET_DIR}
$(MAKE) -C toolchain $(patsubst toolchain/%,%,$@)
-tools/%:
- $(MAKE) -C tools $(patsubst tools/%,%,$@)
-
image:
$(MAKE) -C target image
@@ -215,16 +214,11 @@ switch:
fi \
fi
-ifeq (${ADK_TARGET_KERNEL64},y)
-KERNEL_CFG:=kernel64.config
-else
-KERNEL_CFG:=kernel.config
-endif
-
kernelconfig:
- cp $(TOPDIR)/target/$(ADK_TARGET_ARCH)/${KERNEL_CFG} $(BUILD_DIR)/linux/.config
- ${KERNEL_MAKE_ENV} ${MAKE} ARCH=$(ARCH) ${KERNEL_MAKE_OPTS} -C $(BUILD_DIR)/linux menuconfig
- cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ADK_TARGET_ARCH)/${KERNEL_CFG}
+ ${KERNEL_MAKE_ENV} ${MAKE} \
+ ARCH=$(ARCH) \
+ ${KERNEL_MAKE_OPTS} \
+ -C $(BUILD_DIR)/linux menuconfig
# create a new package from package/.template
newpackage:
@@ -268,7 +262,7 @@ cleandir:
@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) \
${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
- rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR)
+ rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX)
rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
rm -f .menu .tmpconfig.h .rebuild* ${TOPDIR}/package/Depends.mk ${TOPDIR}/prereq.mk
@@ -276,23 +270,16 @@ cleantoolchain:
@$(TRACE) cleantoolchain
@rm -rf $(BUILD_DIR_PFX) $(TARGET_DIR_PFX) \
${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
- @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR)
+ @rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX)
@rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
@rm -f .menu .tmpconfig.h .rebuild* ${TOPDIR}/package/Depends.mk
-cleantarget:
- @$(TRACE) cleantarget
- @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
- rm -rf $(BUILD_DIR) $(FW_DIR) $(TARGET_DIR)
- rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_HOST_DIR) $(STAGING_TARGET_DIR) $(STAGING_PKG_DIR)
- rm -f .tmpconfig.h all.config .defconfig
-
distclean:
@$(TRACE) distclean
@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
- @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
+ @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DL_DIR) \
${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
- @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_HOST_DIR_PFX) $(TOOLS_BUILD_DIR)
+ @rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX)
@rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
@rm -f .adkinit .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \
.menu ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG .rebuild.*
@@ -370,12 +357,6 @@ endif
|sed -e "s#^config \(.*\)#\1=y#" \
>> $(TOPDIR)/.defconfig; \
fi
- @if [ ! -z "$(PKG)" ];then \
- grep "^config" target/config/Config.in \
- |grep -i "$(PKG)" \
- |sed -e "s#^config \(.*\)#\1=y#" \
- >> $(TOPDIR)/.defconfig; \
- fi
@if [ ! -z "$(LIBC)" ];then \
grep "^config" target/config/Config.in \
|grep -i "$(LIBC)" \
@@ -434,12 +415,6 @@ endif
|sed -e "s#^config \(.*\)#\1=y#" \
>> $(TOPDIR)/all.config; \
fi
- @if [ ! -z "$(PKG)" ];then \
- grep "^config" target/config/Config.in \
- |grep -i "$(PKG)" \
- |sed -e "s#^config \(.*\)#\1=y#" \
- >> $(TOPDIR)/all.config; \
- fi
@if [ ! -z "$(LIBC)" ];then \
grep "^config" target/config/Config.in \
|grep -i "$(LIBC)" \
@@ -475,9 +450,9 @@ _mconfig2: ${CONFIG}/conf modconfig .menu
distclean:
@$(MAKE) -C $(CONFIG) clean
- @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
+ @rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DL_DIR) \
${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
- @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_TARGET_DIR_PFX) $(TOOLS_BUILD_DIR)
+ @rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_TARGET_DIR_PFX)
@rm -rf $(STAGING_HOST_DIR_PFX) $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
@rm -f .adkinit .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \
.menu .rebuild.* ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG
@@ -487,7 +462,7 @@ endif # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
# build all target architecture and libc combinations (toolchain only)
bulktoolchain:
- if [ -z "$(LIBC)" ];then \
+ @if [ -z "$(LIBC)" ];then \
libc="glibc uclibc musl"; \
else \
libc="$(LIBC)"; \
@@ -497,43 +472,48 @@ bulktoolchain:
mkdir -p ${TOPDIR}/firmware; \
( \
echo === building $$arch $$libc toolchain-$$arch on $$(date); \
- tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#"); \
- if [ -f ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz ];then exit;fi; \
+ tarch=$$(echo $$arch|sed -e "s#sh4.*#sh#" -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#hf##" -e "s#x86_64.*#x86_64#" ); \
+ carch=$$(echo $$arch|sed -e "s#hf##" -e "s#mips64n.*#mips64#" -e "s#mips64el.*#mips64el#" -e 's#x86$$#i686#' -e "s#x86_64.*#x86_64#" ); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$tarch SYSTEM=toolchain-$$arch LIBC=$$libc defconfig; \
+ tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\
+ if [ $$arch = "armhf" ];then arch=arm; else arch=$$arch;fi; \
+ if [ -z $$tabi ];then abi="";else abi=_$$tabi;fi; \
+ if [ -f ${TOPDIR}/firmware/toolchain_$${carch}_$${libc}$${abi}.tar.xz ];then exit;fi; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; break;fi; \
- tar -cvJf ${TOPDIR}/firmware/toolchain_$${arch}_$${libc}.tar.xz host_* target_$${arch}_$${libc}*; \
+ tar -cvJf ${TOPDIR}/firmware/toolchain_$${carch}_$${libc}$${abi}.tar.xz toolchain_${GNU_HOST_NAME} target_$${carch}_$${libc}$${abi}; \
$(GMAKE) cleantoolchain; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/toolchain_$${arch}_$${libc}_build.log; \
+ ) 2>&1 | tee -a $(TOPDIR)/firmware/toolchain_build.log; \
if [ -f .exit ];then break;fi \
done <${TOPDIR}/target/tarch.lst ;\
if [ -f .exit ];then echo "Bulk build failed!"; rm .exit; exit 1;fi \
done
test-framework:
- if [ -z "$(LIBC)" ];then \
+ @if [ -z "$(LIBC)" ];then \
libc="glibc uclibc musl"; \
else \
libc="$(LIBC)"; \
fi; \
for libc in $$libc;do \
( \
- for arch in arm microblaze microblazeel mips mipsel mips64 mips64el ppc ppc64 sh4 sh4eb sparc sparc64 i686 x86_64;do \
- tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#i686#x86#" -e "s#sh4#sh#"); \
+ mkdir -p $(TOPDIR)/firmware/; \
+ for arch in $$(grep -v m68k target/tarch.lst|xargs);do \
+ tarch=$$(echo $$arch|sed -e "s#el##" -e "s#eb##" -e "s#mips64.*#mips#" -e "s#i686#x86#" -e "s#sh4#sh#" -e "s#hf##" -e "s#x86_64.*#x86_64#"); \
+ arch=$$(echo $$arch|sed -e 's#x86$$#i686#'); \
echo === building qemu-$$arch for $$libc with $$tarch on $$(date); \
- $(GMAKE) prereq && \
- $(GMAKE) ARCH=$$tarch SYSTEM=qemu-$$arch LIBC=$$libc FS=archive COLLECTION=test defconfig; \
+ $(GMAKE) ARCH=$$tarch SYSTEM=qemu-$$arch LIBC=$$libc FS=initramfsarchive COLLECTION=test defconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
tabi=$$(grep ^ADK_TARGET_ABI= .config|cut -d \" -f 2);\
if [ -z $$tabi ];then abi="";else abi=_$$tabi;fi; \
+ qarch=$$(echo $$arch|sed -e "s#armhf#arm#" -e 's#mips64n.*$$#mips64#' -e 's#mips64eln.*$$#mips64el#' -e "s#x86_64.*#x86_64#"); \
+ cp -a root_qemu_$${qarch}_$${libc}$${abi} root; \
+ mkdir -p $(TOPDIR)/firmware/qemu/$$arch; \
+ tar cJvf $(TOPDIR)/firmware/qemu/$$arch/root.tar.xz root; \
if [ -d root ];then rm -rf root;fi; \
- echo cp -a root_qemu_$${arch}_$${libc}$${abi} root; \
- cp -a root_qemu_$${arch}_$${libc}$${abi} root; \
- mkdir -p $(TOPDIR)/firmware/qemu/$$tarch; \
- tar cJvf $(TOPDIR)/firmware/qemu/$$tarch/root.tar.xz root; \
- cp $(TOPDIR)/firmware/qemu_$${arch}_$${libc}$${abi}/qemu-$${arch}-archive-kernel \
- $(TOPDIR)/firmware/qemu/$$tarch/kernel; \
+ cp $(TOPDIR)/firmware/qemu_$${qarch}_$${libc}$${abi}/qemu-$${qarch}-initramfsarchive-kernel \
+ $(TOPDIR)/firmware/qemu/$$arch/kernel; \
rm .config; \
done; \
) 2>&1 | tee $(TOPDIR)/firmware/test-framework-build.log; \
@@ -543,14 +523,13 @@ test-framework:
release:
for libc in uclibc glibc musl;do \
- mkdir -p $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc; \
( \
echo === building $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$(ARCH) SYSTEM=$(SYSTEM) LIBC=$$libc FS=archive allmodconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/$(SYSTEM)_$(ARCH)_$$libc/build.log; \
+ ) 2>&1 | tee $(TOPDIR)/firmware/release-build.log; \
if [ -f .exit ];then echo "Bulk build failed!"; break;fi \
done
if [ -f .exit ];then rm .exit;exit 1;fi
@@ -561,14 +540,14 @@ bulk:
while read arch; do \
systems=$$(./scripts/getsystems $$arch|grep -v toolchain); \
for system in $$systems;do \
- mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \
+ mkdir -p $(TOPDIR)/firmware; \
( \
echo === building $$arch $$system $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive defconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \
+ ) 2>&1 | tee $(TOPDIR)/firmware/bulkbuild.log; \
if [ -f .exit ]; then break;fi \
done; \
if [ -f .exit ]; then break;fi \
@@ -581,14 +560,14 @@ bulkall:
while read arch; do \
systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \
for system in $$systems;do \
- mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \
+ mkdir -p $(TOPDIR)/firmware; \
( \
echo === building $$arch $$system $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive allconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then touch .exit; exit 1;fi; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \
+ ) 2>&1 | tee $(TOPDIR)/firmware/bulkallbuild.log; \
if [ -f .exit ]; then break;fi \
done; \
if [ -f .exit ]; then break;fi \
@@ -601,15 +580,15 @@ bulkallmod:
while read arch; do \
systems=$$(./scripts/getsystems $$arch| grep -v toolchain); \
for system in $$systems;do \
- mkdir -p $(TOPDIR)/firmware/$${system}_$${arch}_$$libc; \
+ mkdir -p $(TOPDIR)/firmware; \
( \
echo === building $$arch $$system $$libc on $$(date); \
$(GMAKE) prereq && \
$(GMAKE) ARCH=$$arch SYSTEM=$$system LIBC=$$libc FS=archive allmodconfig; \
$(GMAKE) VERBOSE=1 all; if [ $$? -ne 0 ]; then echo $$system-$$libc >.exit; exit 1;fi; \
- $(GMAKE) cleantarget; \
+ $(GMAKE) clean; \
rm .config; \
- ) 2>&1 | tee $(TOPDIR)/firmware/$${system}_$${arch}_$$libc/build.log; \
+ ) 2>&1 | tee $(TOPDIR)/firmware/bulkallmodbuild.log; \
if [ -f .exit ]; then break;fi \
done; \
if [ -f .exit ]; then break;fi \
@@ -617,45 +596,42 @@ bulkallmod:
if [ -f .exit ];then echo "Bulk build failed!"; cat .exit;rm .exit; exit 1;fi \
done
-$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker: $(TOPDIR)/tools/adk/pkgmaker.c $(TOPDIR)/tools/adk/sortfile.c $(TOPDIR)/tools/adk/strmap.c
- @mkdir -p host_$(GNU_HOST_NAME)/usr/bin
- @$(CC_FOR_BUILD) -g -o $@ tools/adk/pkgmaker.c tools/adk/sortfile.c tools/adk/strmap.c
+$(TOPDIR)/adk/tools/pkgmaker: $(TOPDIR)/adk/tools/pkgmaker.c $(TOPDIR)/adk/tools/sortfile.c $(TOPDIR)/adk/tools/strmap.c
+ @$(CC_FOR_BUILD) -g -o $@ adk/tools/pkgmaker.c adk/tools/sortfile.c adk/tools/strmap.c
-$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild: $(TOPDIR)/tools/adk/pkgrebuild.c $(TOPDIR)/tools/adk/strmap.c
- @$(CC_FOR_BUILD) -g -o $@ tools/adk/pkgrebuild.c tools/adk/strmap.c
+$(TOPDIR)/adk/tools/pkgrebuild: $(TOPDIR)/adk/tools/pkgrebuild.c $(TOPDIR)/adk/tools/strmap.c
+ @$(CC_FOR_BUILD) -g -o $@ adk/tools/pkgrebuild.c adk/tools/strmap.c
-package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgrebuild
+package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) $(TOPDIR)/adk/tools/pkgmaker $(TOPDIR)/adk/tools/pkgrebuild
@echo "Generating menu structure ..."
- @$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/pkgmaker
+ @$(TOPDIR)/adk/tools/pkgmaker
@:>.menu
-$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker: $(TOPDIR)/tools/adk/depmaker.c
- @mkdir -p host_$(GNU_HOST_NAME)/usr/bin
- $(CC_FOR_BUILD) -g -o $@ $(TOPDIR)/tools/adk/depmaker.c
+$(TOPDIR)/adk/tools/depmaker: $(TOPDIR)/adk/tools/depmaker.c
+ $(CC_FOR_BUILD) -g -o $@ $(TOPDIR)/adk/tools/depmaker.c
-dep: $(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker
+dep: $(TOPDIR)/adk/tools/depmaker
@echo "Generating dependencies ..."
- @$(TOPDIR)/host_$(GNU_HOST_NAME)/usr/bin/depmaker > ${TOPDIR}/package/Depends.mk
+ @$(TOPDIR)/adk/tools/depmaker > ${TOPDIR}/package/Depends.mk
.PHONY: menu dep
include $(TOPDIR)/toolchain/gcc/Makefile.inc
check-dejagnu:
- @-rm tests/adk.exp tests/master.exp >/dev/null 2>&1
- @sed -e "s#@ADK_TARGET_IP@#$(ADK_TARGET_IP)#" tests/adk.exp.in > \
- tests/adk.exp.in.tmp
- @sed -e "s#@ADK_TARGET_PORT@#$(ADK_TARGET_PORT)#" tests/adk.exp.in.tmp > \
- tests/adk.exp
- @sed -e "s#@TOPDIR@#$(TOPDIR)#" tests/master.exp.in > \
- tests/master.exp
+ @-rm adk/tests/adk.exp adk/tests/master.exp >/dev/null 2>&1
+ @sed -e "s#@ADK_TARGET_IP@#$(ADK_TARGET_IP)#" \
+ -e "s#@ADK_TARGET_PORT@#$(ADK_TARGET_PORT)#" \
+ adk/tests/adk.exp.in > adk/tests/adk.exp
+ @sed -e "s#@TOPDIR@#$(TOPDIR)#" adk/tests/master.exp.in > \
+ adk/tests/master.exp
check-gcc: check-dejagnu
- env DEJAGNU=$(TOPDIR)/tests/master.exp \
+ env DEJAGNU=$(TOPDIR)/adk/tests/master.exp \
$(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/$(PKG_NAME)-$(PKG_VERSION)-final/gcc check-gcc
check-g++: check-dejagnu
- env DEJAGNU=$(TOPDIR)/tests/master.exp \
+ env DEJAGNU=$(TOPDIR)/adk/tests/master.exp \
$(MAKE) -C $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/$(PKG_NAME)-$(PKG_VERSION)-final/gcc check-g++
check: check-gcc check-g++
diff --git a/mk/buildhlp.mk b/mk/buildhlp.mk
index 701f0f4a2..5ce3ca4a0 100644
--- a/mk/buildhlp.mk
+++ b/mk/buildhlp.mk
@@ -81,7 +81,7 @@ ${WRKDIST}/.prepared: ${WRKDIST}/.extract_done
touch $@
endif
-update-patches:
+update-patches host-update-patches:
@test ! -d ${WRKDIR}.orig || rm -rf ${WRKDIR}.orig
@test ! -d ${WRKDIR}.orig
ifeq ($(strip ${_IN_PACKAGE})$(strip ${_IN_CVTC}),1)
@@ -115,4 +115,4 @@ endif
rm -rf ${WRKDIR}.orig; \
[[ $$toedit != FAIL ]]
-.PHONY: update-patches
+.PHONY: update-patches host-update-patches
diff --git a/mk/fetch.mk b/mk/fetch.mk
index 6382571b3..ee24f0b60 100644
--- a/mk/fetch.mk
+++ b/mk/fetch.mk
@@ -26,7 +26,6 @@ refetch:
-rm -f ${FULLDISTFILES}
${MAKE} fetch
-# XXX for now
_CHECKSUM_COOKIE?= ${WRKDIR}/.checksum_done
checksum: ${_CHECKSUM_COOKIE}
ifeq ($(strip ${NO_CHECKSUM}),)
diff --git a/mk/host-bottom.mk b/mk/host-bottom.mk
index 23d5652ba..8ef4a868e 100644
--- a/mk/host-bottom.mk
+++ b/mk/host-bottom.mk
@@ -3,6 +3,7 @@
host-extract: ${_HOST_PATCH_COOKIE}
+hostpre-configure:
host-configure:
${_HOST_CONFIGURE_COOKIE}: ${_HOST_PATCH_COOKIE}
@mkdir -p ${WRKBUILD}
@@ -25,6 +26,7 @@ endif
${CP} ${SCRIPT_DIR}/config.guess $$i; \
fi; \
done;
+ @${MAKE} hostpre-configure $(MAKE_TRACE)
ifneq (${HOST_STYLE},manual)
ifeq ($(strip ${HOST_STYLE}),)
cd ${WRKBUILD}; rm -f config.{cache,status}; \
@@ -75,29 +77,23 @@ endif
touch $@
hostpost-install:
-hpkg-install: ${ALL_HOSTINST}
-host-install:
+host-install: ${ALL_HOSTINST}
${_HOST_FAKE_COOKIE}: ${_HOST_BUILD_COOKIE}
@$(CMD_TRACE) "host installing... "
+ @mkdir -p ${HOST_WRKINST}
ifneq (${HOST_STYLE},manual)
ifeq ($(strip ${HOST_STYLE}),)
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
DESTDIR='${HOST_WRKINST}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
- env ${HOST_MAKE_ENV} ${MAKE} hpkg-install $(MAKE_TRACE)
+ env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE)
else
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
DESTDIR='' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
endif
else
- env ${HOST_MAKE_ENV} ${MAKE} hpkg-install $(MAKE_TRACE)
+ env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE)
endif
env ${HOST_MAKE_ENV} ${MAKE} hostpost-install $(MAKE_TRACE)
- rm -rf ${WRKBUILD} ${WRKDIST} ${WRKSRC}
- exec ${MAKE} host-extract $(MAKE_TRACE)
- mkdir -p ${HOST_WRKINST}
- # avoid rebuild
- @touch ${_HOST_CONFIGURE_COOKIE}
- @touch ${_HOST_BUILD_COOKIE}
@touch $@
${_HOST_COOKIE}:
@@ -107,3 +103,7 @@ ifeq ($(HOST_LINUX_ONLY),)
hostpackage: ${ALL_HOSTDIRS}
@touch ${_HOST_COOKIE}
endif
+
+hostclean:
+ @$(CMD_TRACE) "cleaning... "
+ rm -rf ${WRKDIR} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}*-host
diff --git a/mk/host.mk b/mk/host.mk
index aa88bab44..88f8d2e01 100644
--- a/mk/host.mk
+++ b/mk/host.mk
@@ -1,10 +1,16 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
+# This is where all package operation is done in
+ifneq (,$(findstring host,$(MAKECMDGOALS)))
+WRKDIR?= ${HOST_BUILD_DIR}/w-${PKG_NAME}-${PKG_VERSION}-${PKG_RELEASE}-host
+endif
+
HOST_CONFIGURE_ENV+= AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \
CONFIG_SHELL='$(strip ${SHELL})' \
PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \
PATH='${HOST_PATH}' \
+ CC='$(strip ${CC_FOR_BUILD})' \
CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
@@ -23,6 +29,7 @@ HOST_INSTALL_TARGET?= install
HOST_MAKE_ENV+= PATH='${HOST_PATH}' \
PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig' \
+ CC='$(strip ${CC_FOR_BUILD})' \
CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
@@ -30,7 +37,7 @@ HOST_MAKE_ENV+= PATH='${HOST_PATH}' \
HOST_MAKE_FLAGS+= ${HOST_XAKE_FLAGS} V=1
HOST_FAKE_FLAGS+= ${HOST_XAKE_FLAGS}
-HOST_WRKINST= ${WRKDIR}/host
+HOST_WRKINST= ${WRKDIR}/fake
_HOST_EXTRACT_COOKIE= ${WRKDIST}/.extract_done
_HOST_PATCH_COOKIE= ${WRKDIST}/.prepared
@@ -54,7 +61,7 @@ hostfake: ${_HOST_FAKE_COOKIE}
define HOST_template
ALL_PKGOPTS+= $(1)
PKGNAME_$(1)= $(2)
-HOSTDIR_$(1)= $(WRKDIR)/host
+HOSTDIR_$(1)= $(WRKDIR)/fake
ALL_HOSTDIRS+= $${HOSTDIR_$(1)}
ALL_HOSTINST+= $(2)-hostinstall
@@ -63,4 +70,4 @@ $$(HOSTDIR_$(1)): ${_HOST_PATCH_COOKIE} ${_HOST_FAKE_COOKIE}
endef
.PHONY: all hostextract hostpatch hostconfigure \
- hostbuild hostpackage hostfake
+ hostbuild hostpackage hostfake hostclean
diff --git a/mk/image.mk b/mk/image.mk
index 6721549b5..ee2f991e0 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -34,6 +34,9 @@ imageprepare: image-prepare-post extra-install
# if an extra directory exist in TOPDIR, copy all content over the
# root directory, do the same if make extra=/dir/to/extra is used
extra-install:
+ @-if [ -h ${TARGET_DIR}/etc/resolv.conf -a -f $(TOPDIR)/extra/etc/resolv.conf ];then \
+ rm ${TARGET_DIR}/etc/resolv.conf;\
+ fi
@if [ -d $(TOPDIR)/extra ];then $(CP) $(TOPDIR)/extra/* ${TARGET_DIR};fi
@if [ ! -z $(extra) ];then $(CP) $(extra)/* ${TARGET_DIR};fi
@@ -51,22 +54,24 @@ image-prepare-post:
-rm -f ${TARGET_DIR}/bin/sh
ln -sf ${BINSH} ${TARGET_DIR}/bin/sh
ifeq ($(ADK_LINUX_X86_64),y)
+ifeq ($(ADK_TARGET_ABI_32),)
# fixup lib dirs
mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
+endif
ifeq ($(ADK_LINUX_PPC64),y)
# fixup lib dirs
mv ${TARGET_DIR}/lib/* ${TARGET_DIR}/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
@@ -76,7 +81,7 @@ ifeq ($(ADK_LINUX_SPARC64),y)
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
@@ -86,7 +91,7 @@ ifeq ($(ADK_TARGET_ABI_N32),y)
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
@@ -96,7 +101,7 @@ ifeq ($(ADK_TARGET_ABI_N64),y)
rm -rf ${TARGET_DIR}/lib/
ln -sf /${ADK_TARGET_LIBC_PATH} ${TARGET_DIR}/lib
-mkdir ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH} 2>/dev/null
- mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
+ -mv ${TARGET_DIR}/usr/lib/* ${TARGET_DIR}/usr/${ADK_TARGET_LIBC_PATH}
rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
@@ -122,7 +127,7 @@ ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGE
ROOTFSJFFS2= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-jffs2.img
ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
-ROOTFSISO= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso
+ROOTFSISO= ${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}.iso
else
TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_FS}-kernel
INITRAMFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
@@ -130,7 +135,7 @@ ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
ROOTFSJFFS2= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-jffs2.img
ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
-ROOTFSISO= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso
+ROOTFSISO= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}.iso
endif
${FW_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
@@ -144,18 +149,8 @@ ${FW_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}
${STAGING_HOST_DIR}/usr/bin/cpio -o -Hustar -P | gzip -n9 >$@
${STAGING_TARGET_DIR}/${INITRAMFS}_list: ${TARGET_DIR}
- $(BASH) ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \
+ env PATH='${HOST_PATH}' $(BASH) ${LINUX_DIR}/scripts/gen_initramfs_list.sh -u squash -g squash \
${TARGET_DIR}/ >$@
- ( \
- echo "nod /dev/console 0644 0 0 c 5 1"; \
- echo "nod /dev/tty 0644 0 0 c 5 0"; \
- for i in 0 1 2 3 4; do \
- echo "nod /dev/tty$$i 0644 0 0 c 4 $$$$i"; \
- done; \
- echo "nod /dev/systty 0644 0 0 c 4 0"; \
- echo "nod /dev/null 0644 0 0 c 1 3"; \
- echo "nod /dev/ram 0655 0 0 b 1 1"; \
- ) >>$@
${FW_DIR}/${INITRAMFS}: ${STAGING_TARGET_DIR}/${INITRAMFS}_list
${LINUX_DIR}/usr/gen_init_cpio ${STAGING_TARGET_DIR}/${INITRAMFS}_list | \
@@ -167,11 +162,11 @@ ${BUILD_DIR}/root.squashfs: ${TARGET_DIR}
-nopad -noappend -root-owned $(MAKE_TRACE)
${FW_DIR}/${ROOTFSJFFS2}: ${TARGET_DIR}
- ${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -r ${TARGET_DIR} \
+ ${STAGING_HOST_DIR}/usr/bin/mkfs.jffs2 $(ADK_JFFS2_OPTS) -q -X zlib -r ${TARGET_DIR} \
--pad=$(ADK_TARGET_MTD_SIZE) -o ${FW_DIR}/${ROOTFSJFFS2} $(MAKE_TRACE)
createinitramfs: ${STAGING_TARGET_DIR}/${INITRAMFS}_list
- ${SED} 's/.*CONFIG_\(RD_\|XZ_\|BLK_DEV_INITRD\|INITRAMFS_\).*//' \
+ ${SED} 's/.*CONFIG_\(RD_\|BLK_DEV_INITRD\|INITRAMFS_\).*//' \
${LINUX_DIR}/.config
( \
echo "CONFIG_BLK_DEV_INITRD=y"; \
@@ -234,14 +229,14 @@ ifeq ($(ADK_KERNEL_COMP_BZIP2),y)
echo "CONFIG_INITRAMFS_COMPRESSION_BZIP2=y" >> ${LINUX_DIR}/.config
endif
@-rm $(LINUX_DIR)/usr/initramfs_data.cpio* 2>/dev/null
- $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE)
+ env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \
+ -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE)
${FW_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package
mkdir -p ${TARGET_DIR}/boot/syslinux
cp ${STAGING_HOST_DIR}/usr/share/syslinux/{isolinux.bin,ldlinux.c32} \
${TARGET_DIR}/boot/syslinux
- echo 'DEFAULT /boot/kernel root=/dev/sr0 init=/init' > \
+ echo 'DEFAULT /boot/kernel root=/dev/sr0' > \
${TARGET_DIR}/boot/syslinux/isolinux.cfg
${STAGING_HOST_DIR}/usr/bin/mkisofs -R -uid 0 -gid 0 -o $@ \
-b boot/syslinux/isolinux.bin \
diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk
index f95796950..448c133c3 100644
--- a/mk/kernel-build.mk
+++ b/mk/kernel-build.mk
@@ -37,28 +37,24 @@ $(LINUX_DIR)/.prepared: $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PK
$(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(TOPDIR)/mk/modules.mk
$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-configure
-for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done
-ifeq ($(ADK_USE_KERNEL_MINICONFIG),y)
$(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/mini.config
- ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE)
-else
- $(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/.config
- echo N | ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} oldconfig $(MAKE_TRACE)
-endif
+ ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE)
touch -c $(LINUX_DIR)/.config
$(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config
$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-compile
- ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) modules $(MAKE_TRACE)
+ ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) modules $(MAKE_TRACE)
touch -c $(LINUX_DIR)/$(KERNEL_FILE)
$(LINUX_BUILD_DIR)/modules: $(LINUX_DIR)/$(KERNEL_FILE)
$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-modules-install
rm -rf $(LINUX_BUILD_DIR)/modules
- ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \
+ ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} DEPMOD=true \
INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \
LOCALVERSION="" \
modules_install $(MAKE_TRACE)
$(TRACE) target/$(ADK_TARGET_ARCH)-create-packages
+ @mkdir -p ${PACKAGE_DIR}
ifneq ($(strip $(TARGETS)),)
$(MAKE) $(TARGETS)
endif
diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk
index 3285e891d..7d8de54e3 100644
--- a/mk/kernel-vars.mk
+++ b/mk/kernel-vars.mk
@@ -1,27 +1,18 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-KERNEL_MAKE_OPTS:= -C "${LINUX_DIR}" V=1 \
- CROSS_COMPILE="$(TARGET_CROSS)" ARCH=$(ARCH) \
- CC="$(TARGET_CC)" HOSTCC="${CC_FOR_BUILD}" \
- HOSTCFLAGS='${CFLAGS_FOR_BUILD}' \
+KERNEL_MAKE_OPTS:= V=1 \
+ ARCH=$(ARCH) \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ CC="$(TARGET_CC)" \
+ HOSTCC="${CC_FOR_BUILD}" \
CONFIG_SHELL='${SHELL}'
-ifeq (${ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54G},y)
-ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x400000 \
- -DBCM47XX_OVERRIDE_NVRAMSIZE=0x10000 \
- -DBCM47XX_OVERRIDE_CFESIZE=0x40000
-endif
-ifeq (${ADK_TARGET_BROADCOM_MODEL_LINKSYS_WRT54GS},y)
-ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x800000 \
- -DBCM47XX_OVERRIDE_NVRAMSIZE=0x20000 \
- -DBCM47XX_OVERRIDE_CFESIZE=0x40000
-endif
-ifeq (${ADK_TARGET_BROADCOM_MODEL_ASUS_WL500GP},y)
-ADK_KCPPFLAGS+= -DBCM47XX_OVERRIDE_FLASHSIZE=0x800000 \
- -DBCM47XX_OVERRIDE_NVRAMSIZE=0x20000 \
- -DBCM47XX_OVERRIDE_CFESIZE=0x40000
+# regex for relocs needs pcre on Darwin
+ifeq ($(ADK_HOST_DARWIN),y)
+KERNEL_MAKE_OPTS+= HOSTCFLAGS='$(CPPFLAGS_FOR_BUILD) ${CFLAGS_FOR_BUILD}' HOSTLDFLAGS='-lpcreposix'
+else
+KERNEL_MAKE_OPTS+= HOSTCFLAGS='${CFLAGS_FOR_BUILD}'
endif
-KERNEL_MAKE_ENV+= KCPPFLAGS='${ADK_KCPPFLAGS}' \
- PATH="${STAGING_HOST_DIR}/usr/bin:$$PATH"
+KERNEL_MAKE_ENV+= PATH="${STAGING_HOST_DIR}/usr/bin:$$PATH"
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk
index 6355af1d8..7cfb5998b 100644
--- a/mk/kernel-ver.mk
+++ b/mk/kernel-ver.mk
@@ -1,20 +1,20 @@
ifeq ($(ADK_KERNEL_VERSION_TOOLCHAIN),y)
-KERNEL_VERSION:= 3.13.6
+KERNEL_VERSION:= 3.13.7
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 445aa27da818617409982f42902a6e41
+KERNEL_MD5SUM:= 370adced5e5c1cb1d0d621c2dae2723f
endif
-ifeq ($(ADK_KERNEL_VERSION_3_13_6),y)
-KERNEL_VERSION:= 3.13.6
+ifeq ($(ADK_KERNEL_VERSION_3_13_7),y)
+KERNEL_VERSION:= 3.13.7
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 445aa27da818617409982f42902a6e41
+KERNEL_MD5SUM:= 370adced5e5c1cb1d0d621c2dae2723f
endif
-ifeq ($(ADK_KERNEL_VERSION_3_12_13),y)
-KERNEL_VERSION:= 3.12.13
+ifeq ($(ADK_KERNEL_VERSION_3_12_14),y)
+KERNEL_VERSION:= 3.12.14
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 345f5883cfb906dac4aef87e303d3a2d
+KERNEL_MD5SUM:= 5575e68e287605ad63d3a1444e9b701d
endif
ifeq ($(ADK_KERNEL_VERSION_3_11_10),y)
KERNEL_VERSION:= 3.11.10
@@ -22,15 +22,15 @@ KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
KERNEL_MD5SUM:= 59f352d3f4e2cdf6755f79e09fa09176
endif
-ifeq ($(ADK_KERNEL_VERSION_3_10_33),y)
-KERNEL_VERSION:= 3.10.33
+ifeq ($(ADK_KERNEL_VERSION_3_10_34),y)
+KERNEL_VERSION:= 3.10.34
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 01865f9c129f3c7eee51e25b3781a364
+KERNEL_MD5SUM:= 30991b495a3d75196d5608072d2e62e6
endif
-ifeq ($(ADK_KERNEL_VERSION_3_4_82),y)
-KERNEL_VERSION:= 3.4.82
+ifeq ($(ADK_KERNEL_VERSION_3_4_84),y)
+KERNEL_VERSION:= 3.4.84
KERNEL_MOD_VERSION:= $(KERNEL_VERSION)
KERNEL_RELEASE:= 1
-KERNEL_MD5SUM:= 9ee57efa65417a7a9ac931122c2b7377
+KERNEL_MD5SUM:= b99f88ca356b5003ce44e952baa3e6a3
endif
diff --git a/mk/mirrors.mk b/mk/mirrors.mk
index 4de2fdded..ab7349288 100644
--- a/mk/mirrors.mk
+++ b/mk/mirrors.mk
@@ -15,12 +15,19 @@ MASTER_SITE_KERNEL?= \
http://www.kernel.org/pub/linux/ \
MASTER_SITE_XORG?= \
- http://www.x.org/releases/X11R7.7/src/everything/ \
- http://ftp.gwdg.de/pub/x11/x.org/pub/X11R7.7/src/everything/ \
- http://xorg.freedesktop.org/releases/X11R7.7/src/everything/ \
+ http://www.x.org/releases/individual/xserver/ \
+ http://www.x.org/releases/individual/proto/ \
+ http://www.x.org/releases/individual/app/ \
+ http://www.x.org/releases/individual/xcb/ \
+ http://www.x.org/releases/individual/lib/ \
+ http://www.x.org/releases/individual/driver/ \
+ http://www.x.org/releases/individual/util/ \
http://xorg.freedesktop.org/releases/individual/app/ \
http://xorg.freedesktop.org/releases/individual/lib/ \
http://xorg.freedesktop.org/releases/individual/driver/ \
+ http://www.x.org/releases/X11R7.7/src/everything/ \
+ http://ftp.gwdg.de/pub/x11/x.org/pub/X11R7.7/src/everything/ \
+ http://xorg.freedesktop.org/releases/X11R7.7/src/everything/ \
MASTER_SITE_GNU?= \
http://ftp.gnu.org/gnu/ \
diff --git a/mk/modules.mk b/mk/modules.mk
index 5fd2f6419..e8a0821de 100644
--- a/mk/modules.mk
+++ b/mk/modules.mk
@@ -1175,20 +1175,21 @@ $(eval $(call KMOD_template,SND,snd,\
$(MODULES_DIR)/kernel/sound/core/snd \
$(MODULES_DIR)/kernel/sound/core/snd-timer \
$(MODULES_DIR)/kernel/sound/core/snd-pcm \
+,40))
+
+$(eval $(call KMOD_template,SND_PCM_DMAENGINE,snd-pcm-dmaengine,\
$(MODULES_DIR)/kernel/sound/core/snd-pcm-dmaengine \
+,41))
+
+$(eval $(call KMOD_template,SND_COMPRESS,snd-compress,\
$(MODULES_DIR)/kernel/sound/core/snd-compress \
-,40))
+,41))
$(eval $(call KMOD_template,SND_RAWMIDI,snd-rawmidi,\
$(MODULES_DIR)/kernel/sound/core/snd-hwdep \
$(MODULES_DIR)/kernel/sound/core/snd-rawmidi \
,42))
-$(eval $(call KMOD_template,SND_OSSEMUL,snd-ossemul,\
- $(MODULES_DIR)/kernel/sound/core/oss/snd-mixer-oss \
- $(MODULES_DIR)/kernel/sound/core/oss/snd-pcm-oss \
-,45))
-
$(eval $(call KMOD_template,SND_AC97_CODEC,snd-ac97-codec,\
$(MODULES_DIR)/kernel/sound/ac97_bus \
$(MODULES_DIR)/kernel/sound/pci/ac97/snd-ac97-codec \
@@ -1293,7 +1294,7 @@ $(eval $(call KMOD_template,PCMCIA,pcmcia,\
,60))
$(eval $(call KMOD_template,SERIAL_8250_CS,serial-8250-cs,\
- $(MODULES_DIR)/kernel/drivers/tty/serial/serial_cs \
+ $(MODULES_DIR)/kernel/drivers/tty/serial/8250/serial_cs \
,70))
#
@@ -1742,7 +1743,7 @@ $(eval $(call KMOD_template,PARPORT_PC,parport-pc,\
,55))
$(eval $(call KMOD_template,PLIP,plip,\
- $(MODULES_DIR)/kernel/drivers/net/plip \
+ $(MODULES_DIR)/kernel/drivers/net/plip/plip \
,60))
#
diff --git a/mk/package.mk b/mk/package.mk
index a70de9377..eba9c446a 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -195,10 +195,10 @@ endif
$$(IPKG_$(1)): $$(IDIR_$(1))/CONTROL/control $${_FAKE_COOKIE}
ifeq ($(ADK_DEBUG),)
- $${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE)
+ @$${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE)
endif
ifeq ($(ADK_DEBUG_STRIP),y)
- $${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE)
+ @$${RSTRIP} $${IDIR_$(1)} $(MAKE_TRACE)
endif
ifeq (${ADK_LEAVE_ETC_ALONE}$(filter force_etc,$(7)),y)
-rm -rf $${IDIR_$(1)}/etc
@@ -314,7 +314,7 @@ clean-targets:
clean:
@$(CMD_TRACE) "cleaning... "
@$(MAKE) clean-targets $(MAKE_TRACE)
- rm -rf ${WRKDIR} ${ALL_IPKGS} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}*
+ rm -rf ${WRKDIR} ${ALL_IPKGS} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}${PKG_VERSION}
distclean: clean
rm -f ${FULLDISTFILES}
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index 3e454ee5a..2ccc6ff1e 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -184,7 +184,7 @@ ifneq (,$(filter dev,${PKG_OPTS}))
done
endif
@-cd ${WRKINST}; \
- if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" -a "${PKG_NAME}" != "pam" ];then \
+ if [ "${PKG_NAME}" != "uClibc" -a "${PKG_NAME}" != "glibc" -a "${PKG_NAME}" != "libpthread" -a "${PKG_NAME}" != "libstdcxx" -a "${PKG_NAME}" != "libgcc" -a "${PKG_NAME}" != "libthread-db" -a "${PKG_NAME}" != "musl" -a "${PKG_NAME}" != "pam" -a "${PKG_NAME}" != "tzdata" ];then \
find lib \( -name lib\*.so\* -o -name lib\*.a \) \
-exec echo 'WARNING: ${PKG_NAME} installs files in /lib -' \
' fix this!' >&2 \; -quit 2>/dev/null; fi;\
diff --git a/mk/rootfs.mk b/mk/rootfs.mk
index 55830b23c..dae0e5805 100644
--- a/mk/rootfs.mk
+++ b/mk/rootfs.mk
@@ -11,10 +11,11 @@ endef
ifeq ($(ADK_HARDWARE_QEMU),y)
MTDDEV:= root=/dev/mtdblock0
ifeq ($(ADK_TARGET_ROOTFS_ARCHIVE),y)
-ROOTFS:= root=/dev/sda1
-endif
ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
ROOTFS:= root=/dev/vda1
+else
+ROOTFS:= root=/dev/sda1
+endif
endif
endif
@@ -41,17 +42,15 @@ else
USB:= rootdelay=2
endif
-$(eval $(call rootfs_template,genext2fs,GENEXT2FS,$(ROOTFS)))
-$(eval $(call rootfs_template,cf,CF,$(ROOTFS)))
-$(eval $(call rootfs_template,mmc,MMC,$(ROOTFS)))
$(eval $(call rootfs_template,usb,USB,$(USB)))
$(eval $(call rootfs_template,archive,ARCHIVE,$(ROOTFS)))
+$(eval $(call rootfs_template,initramfsarchive,INITRAMFSARCHIVE))
$(eval $(call rootfs_template,initramfs,INITRAMFS))
$(eval $(call rootfs_template,initramfs-piggyback,INITRAMFS_PIGGYBACK))
-$(eval $(call rootfs_template,squashfs,SQUASHFS,$(ROOTFS)))
+$(eval $(call rootfs_template,squashfs,SQUASHFS,$(MTDDEV) rootfstype=squashfs))
$(eval $(call rootfs_template,yaffs,YAFFS,$(MTDDEV) panic=3))
$(eval $(call rootfs_template,jffs2,JFFS2,$(MTDDEV) rootfstype=jffs2))
-$(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp init=/init))
+$(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp))
$(eval $(call rootfs_template,encrypted,ENCRYPTED))
$(eval $(call rootfs_template,iso,ISO))
diff --git a/mk/vars.mk b/mk/vars.mk
index 5fd4a51aa..a26dc0734 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -17,16 +17,17 @@ DL_DIR?= $(BASE_DIR)/dl
else
DL_DIR?= $(ADK_DL_DIR)
endif
-TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build
SCRIPT_DIR:= $(BASE_DIR)/scripts
STAGING_HOST_DIR:= ${BASE_DIR}/host_${GNU_HOST_NAME}
+TOOLCHAIN_DIR:= ${BASE_DIR}/toolchain_${GNU_HOST_NAME}
+HOST_BUILD_DIR:= ${BASE_DIR}/host_build_${GNU_HOST_NAME}
-# PFX dirs for cleandir
+# dirs for cleandir
FW_DIR_PFX:= $(BASE_DIR)/firmware
BUILD_DIR_PFX:= $(BASE_DIR)/build_*
STAGING_PKG_DIR_PFX:= ${BASE_DIR}/pkg_*
STAGING_TARGET_DIR_PFX:=${BASE_DIR}/target_*
-TOOLCHAIN_BUILD_DIR_PFX=$(BASE_DIR)/toolchain_build_*
+TOOLCHAIN_DIR_PFX= $(BASE_DIR)/toolchain_*
STAGING_HOST_DIR_PFX:= ${BASE_DIR}/host_*
TARGET_DIR_PFX:= $(BASE_DIR)/root_*
@@ -36,7 +37,7 @@ FW_DIR:= $(BASE_DIR)/firmware/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIB
BUILD_DIR:= ${BASE_DIR}/build_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}
STAGING_PKG_DIR:= ${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
-STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC}
+STAGING_HOST2TARGET:= ../../target_${CPU_ARCH}_${ADK_TARGET_LIBC}
TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC}
else
TARGET_DIR:= $(BASE_DIR)/root_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
@@ -44,7 +45,7 @@ FW_DIR:= $(BASE_DIR)/firmware/${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIB
BUILD_DIR:= ${BASE_DIR}/build_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
STAGING_TARGET_DIR:= ${BASE_DIR}/target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
STAGING_PKG_DIR:= ${BASE_DIR}/pkg_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
-STAGING_HOST2TARGET:= ../target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
+STAGING_HOST2TARGET:= ../../target_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_${CPU_ARCH}_${ADK_TARGET_LIBC}_${ADK_TARGET_ABI}
endif
@@ -52,15 +53,9 @@ PACKAGE_DIR:= $(FW_DIR)/packages
SCRIPT_TARGET_DIR:= ${STAGING_TARGET_DIR}/scripts
# PATH variables
-TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
-HOST_PATH= ${SCRIPT_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
-AUTOTOOL_PATH= ${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
-
-ifeq ($(ADK_TARGET_ABI_X32),y)
-GNU_TARGET_NAME= $(CPU_ARCH)-x32-linux-$(ADK_TARGET_SUFFIX)
-else
-GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
-endif
+TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+HOST_PATH= ${SCRIPT_DIR}:${TOOLCHAIN_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+AUTOTOOL_PATH= ${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
ifeq ($(ADK_DISABLE_HONOUR_CFLAGS),)
GCC_CHECK:= GCC_HONOUR_COPTS=2
@@ -68,18 +63,28 @@ else
GCC_CHECK:=
endif
-TARGET_CROSS:= $(STAGING_HOST_DIR)/bin/$(GNU_TARGET_NAME)-
+GNU_TARGET_NAME:= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
+TARGET_CROSS:= $(TOOLCHAIN_DIR)/usr/bin/$(GNU_TARGET_NAME)-
TARGET_COMPILER_PREFIX?=${TARGET_CROSS}
-CONFIGURE_TRIPLE:= --build=${GNU_HOST_NAME} --host=${GNU_TARGET_NAME} --target=${GNU_TARGET_NAME}
+CONFIGURE_TRIPLE:= --build=${GNU_HOST_NAME} \
+ --host=${GNU_TARGET_NAME} \
+ --target=${GNU_TARGET_NAME}
ifneq ($(strip ${ADK_USE_CCACHE}),)
-TARGET_COMPILER_PREFIX=ccache ${TARGET_CROSS}
+TARGET_COMPILER_PREFIX=$(STAGING_HOST_DIR)/usr/bin/ccache ${TARGET_CROSS}
endif
-# target compiler flags
+# target tools
TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc
TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++
TARGET_LD:= ${TARGET_COMPILER_PREFIX}ld
+TARGET_AR:= ${TARGET_COMPILER_PREFIX}ar
+TARGET_RANLIB:= ${TARGET_COMPILER_PREFIX}ranlib
+
+ifneq ($(ADK_TARGET_ABI_CFLAGS),)
+TARGET_CC+= $(ADK_TARGET_ABI_CFLAGS)
+TARGET_CXX+= $(ADK_TARGET_ABI_CFLAGS)
+endif
MODE_FLAGS:=
ifeq ($(ADK_LINUX_ARM),y)
@@ -91,13 +96,12 @@ endif
endif
TARGET_CPPFLAGS:=
-TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(ADK_TARGET_ABI_CFLAGS) $(MODE_FLAGS)
-TARGET_CFLAGS_LIBC:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts $(TARGET_OPTIMIZATION) $(MODE_FLAGS)
-TARGET_CXXFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident $(MODE_FLAGS)
+TARGET_CFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident -fhonour-copts
+TARGET_CXXFLAGS:= $(TARGET_CFLAGS_ARCH) -fwrapv -fno-ident
TARGET_LDFLAGS:= -L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \
-Wl,-O1 -Wl,-rpath -Wl,/usr/lib \
- -Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib \
- $(ADK_TARGET_ABI_LDFLAGS)
+ -Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib
+
# security optimization, see http://www.akkadia.org/drepper/dsohowto.pdf
TARGET_LDFLAGS+= -Wl,-z,relro,-z,now
# needed for musl ppc
@@ -123,13 +127,17 @@ ifneq ($(ADK_DEBUG),)
TARGET_CFLAGS+= -g3 -fno-omit-frame-pointer
else
TARGET_CPPFLAGS+= -DNDEBUG
-TARGET_CFLAGS+= -fomit-frame-pointer $(TARGET_OPTIMIZATION)
+TARGET_CFLAGS+= -fomit-frame-pointer $(ADK_TARGET_CFLAGS_OPT)
# stop generating eh_frame stuff
TARGET_CFLAGS+= -fno-unwind-tables -fno-asynchronous-unwind-tables
# always add debug information
TARGET_CFLAGS+= -g3
endif
+ifneq ($(MODE_FLAGS),)
+TARGET_CFLAGS+= $(MODE_CFLAGS)
+TARGET_CXXFLAGS+= $(MODE_CFLAGS)
+endif
# A nifty macro to make testing gcc features easier (from uClibc project)
check_gcc=$(shell \
@@ -139,7 +147,6 @@ check_gcc=$(shell \
CF_FOR_BUILD=$(call check_gcc,-fhonour-copts,)
# host compiler flags
-CXX_FOR_BUILD?= g++
CPPFLAGS_FOR_BUILD?= -I$(STAGING_HOST_DIR)/usr/include
CFLAGS_FOR_BUILD= -O2 -Wall $(CF_FOR_BUILD)
CXXFLAGS_FOR_BUILD?= -O2 -Wall
@@ -150,9 +157,11 @@ PATCH= ${BASH} $(SCRIPT_DIR)/patch.sh
SED:= PATH=${HOST_PATH} sed -i -e
LINUX_DIR:= $(BUILD_DIR)/linux
KERNEL_MODULE_FLAGS:= ARCH=${ARCH} \
- KERNEL_PATH=${LINUX_DIR} KERNELDIR=${LINUX_DIR} KERNEL_DIR=${LINUX_DIR} \
+ KERNEL_PATH=${LINUX_DIR} \
+ KERNELDIR=${LINUX_DIR} \
+ KERNEL_DIR=${LINUX_DIR} \
PREFIX=/usr CROSS_COMPILE="${TARGET_CROSS}" \
- LDFLAGS="$(ADK_TARGET_KERNEL_LDFLAGS)" CFLAGS_MODULE="-fhonour-copts" V=1
+ CFLAGS_MODULE="-fhonour-copts" V=1
TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \
AR='$(TARGET_CROSS)ar' \
@@ -169,9 +178,10 @@ TARGET_CONFIGURE_OPTS= PATH='${TARGET_PATH}' \
CROSS_COMPILE='$(TARGET_CROSS)'
HOST_CONFIGURE_OPTS= CC_FOR_BUILD='${CC_FOR_BUILD}' \
- CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \
CXX_FOR_BUILD='${CXX_FOR_BUILD}' \
+ CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \
CFLAGS_FOR_BUILD='${CFLAGS_FOR_BUILD}' \
+ CXXFLAGS_FOR_BUILD='${CXXFLAGS_FOR_BUILD}' \
LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}'
PKG_SUFFIX:= $(strip $(subst ",, $(ADK_PACKAGE_SUFFIX)))
@@ -198,25 +208,25 @@ RSTRIP:= PATH="$(TARGET_PATH)" prefix='${TARGET_CROSS}' ${BASH} ${SCRIPT_DIR}/r
STATCMD:=$(shell if stat -qs .>/dev/null 2>&1; then echo 'stat -f %z';else echo 'stat -c %s';fi)
-EXTRACT_CMD= mkdir -p ${WRKDIR}; \
+EXTRACT_CMD= PATH='${HOST_PATH}'; mkdir -p ${WRKDIR}; \
cd ${WRKDIR} && \
for file in ${FULLDISTFILES}; do case $$file in \
*.cpio) \
- cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
+ cat $$file | cpio -i -d ;; \
*.tar) \
tar -xf $$file ;; \
*.cpio.Z | *.cpio.gz | *.cgz | *.mcz) \
- gzip -dc $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
+ gzip -dc $$file | cpio -i -d ;; \
*.tar.xz | *.txz) \
- $(STAGING_HOST_DIR)/usr/bin/xz -dc $$file | tar -xf - ;; \
+ xz -dc $$file | tar -xf - ;; \
*.tar.Z | *.tar.gz | *.taz | *.tgz) \
gzip -dc $$file | tar -xf - ;; \
*.cpio.bz2 | *.cbz) \
- $(STAGING_HOST_DIR)/usr/bin/bzip2 -dc $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -i -d ;; \
+ bzip2 -dc $$file | cpio -i -d ;; \
*.tar.bz2 | *.tbz | *.tbz2) \
- $(STAGING_HOST_DIR)/usr/bin/bzip2 -dc $$file | tar -xf - ;; \
+ bzip2 -dc $$file | tar -xf - ;; \
*.zip) \
- cat $$file | $(STAGING_HOST_DIR)/usr/bin/cpio -ivd -H zip ;; \
+ cat $$file | cpio -ivd -H zip ;; \
*.arm) \
cp $$file ${WRKDIR} ;; \
*) \