diff options
author | Waldemar Brodkorb <wbrodkorb@conet.de> | 2015-03-04 09:21:57 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbrodkorb@conet.de> | 2015-03-04 09:21:57 +0100 |
commit | 4fc74012b67cfc62c5481b8d7b6d95052f40c2bf (patch) | |
tree | d6f7c860195c63564d98f53c143acbf0082ea3ca /mk | |
parent | 68b4cb5aaa95eb39401bcbaa7c517cfd31c3edcf (diff) | |
parent | 9919c4bc2f53037331313edace085c386c2af4cc (diff) |
Merge branch 'master' of git+ssh://openadk.org/git/openadk
Diffstat (limited to 'mk')
-rw-r--r-- | mk/build.mk | 4 | ||||
-rw-r--r-- | mk/fetch.mk | 2 | ||||
-rw-r--r-- | mk/image.mk | 17 | ||||
-rw-r--r-- | mk/kernel-build.mk | 6 | ||||
-rw-r--r-- | mk/kernel-vars.mk | 2 | ||||
-rw-r--r-- | mk/kernel-ver.mk | 6 | ||||
-rw-r--r-- | mk/modules.mk | 14 | ||||
-rw-r--r-- | mk/os.mk | 11 | ||||
-rw-r--r-- | mk/package.mk | 2 | ||||
-rw-r--r-- | mk/vars.mk | 35 |
10 files changed, 80 insertions, 19 deletions
diff --git a/mk/build.mk b/mk/build.mk index 214c52e88..d8d1a047c 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -223,7 +223,7 @@ kernelconfig: ${KERNEL_MAKE_ENV} ${MAKE} \ ARCH=$(ADK_TARGET_ARCH) \ ${KERNEL_MAKE_OPTS} \ - -C $(BUILD_DIR)/linux menuconfig + menuconfig # create a new package from package/.template newpackage: @@ -514,7 +514,7 @@ endif @if [ ! -z "$(ADK_TARGET_SYSTEM)" ];then \ system=$$(echo "$(ADK_TARGET_SYSTEM)" |sed -e "s/-/_/g"); \ grep -h "^config" target/*/Config.in.systems \ - |grep -i "$$system" \ + |grep -i "$$system$$" \ |sed -e "s#^config \(.*\)#\1=y#" \ >> $(ADK_TOPDIR)/all.config; \ fi diff --git a/mk/fetch.mk b/mk/fetch.mk index 5fb13a29e..6365b4c13 100644 --- a/mk/fetch.mk +++ b/mk/fetch.mk @@ -28,7 +28,7 @@ ifeq ($(strip ${PKG_NOCHECKSUM}),) ${_CHECKSUM_COOKIE}: ${FULLDISTFILES} -rm -rf ${WRKDIR} ifneq ($(ADK_DISABLE_CHECKSUM),y) - @if [ ! -e "${FULLDISTFILES}.nohash" ]; then \ + @if [ ! -e $(firstword ${FULLDISTFILES}).nohash ]; then \ OK=n; \ allsums="$(strip ${PKG_HASH})"; \ (shasum -a 256 ${FULLDISTFILES}; echo exit) | while read sum name; do \ diff --git a/mk/image.mk b/mk/image.mk index bd7d66f96..7d982d773 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -37,7 +37,7 @@ else $(error No login shell configured!) endif -imageprepare: image-prepare-post extra-install +imageprepare: image-prepare-post extra-install prelink # if an extra directory exist in ADK_TOPDIR, copy all content over the # root directory, do the same if make extra=/dir/to/extra is used @@ -79,6 +79,19 @@ ifneq ($(ADK_TARGET_ARCH_AARCH64)$(ADK_TARGET_ARCH_X86_64)$(ADK_TARGET_ARCH_PPC6 (cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib) endif +ifeq (${ADK_PRELINK},) +prelink: +else +${TARGET_DIR}/etc/prelink.conf: + echo '/' > $@ + +prelink: ${TARGET_DIR}/etc/prelink.conf + $(TRACE) target/prelink + ${TARGET_CROSS}prelink ${ADK_PRELINK_OPTS} \ + --ld-library-path=${STAGING_TARGET_DIR}/usr/lib:${STAGING_TARGET_DIR}/lib \ + --root=${TARGET_DIR} -a $(MAKE_TRACE) +endif + KERNEL_PKGDIR:=$(LINUX_BUILD_DIR)/kernel-pkg KERNEL_PKG:=$(PACKAGE_DIR)/kernel_$(KERNEL_VERSION)_$(ADK_TARGET_CPU_ARCH).$(PKG_SUFFIX) TARGET_KERNEL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_FS}-kernel @@ -203,7 +216,7 @@ 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 - env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \ + env $(KERNEL_MAKE_ENV) $(MAKE) $(KERNEL_MAKE_OPTS) \ -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE) @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL) diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk index b66f71132..37570909e 100644 --- a/mk/kernel-build.mk +++ b/mk/kernel-build.mk @@ -35,18 +35,18 @@ $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(ADK_TO $(TRACE) target/$(ADK_TARGET_ARCH)-kernel-configure -for f in $(TARGETS);do if [ -f $$f ];then rm $$f;fi;done $(CP) $(BUILD_DIR)/.kernelconfig $(LINUX_DIR)/mini.config - ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE) + ${KERNEL_MAKE_ENV} $(MAKE) ${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) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) modules $(MAKE_TRACE) + ${KERNEL_MAKE_ENV} $(MAKE) ${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) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} DEPMOD=true \ + ${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \ INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \ LOCALVERSION="" \ modules_install $(MAKE_TRACE) diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk index 17a8d23a2..89ba10dd9 100644 --- a/mk/kernel-vars.mk +++ b/mk/kernel-vars.mk @@ -1,7 +1,7 @@ # 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:= V=1 \ +KERNEL_MAKE_OPTS:= V=1 -C "${LINUX_DIR}" \ ARCH="$(ADK_TARGET_KARCH)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ CC="$(TARGET_CC)" \ diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk index fa0ac4e39..6404b6ef5 100644 --- a/mk/kernel-ver.mk +++ b/mk/kernel-ver.mk @@ -4,11 +4,11 @@ KERNEL_MOD_VERSION:= $(KERNEL_VERSION).0 KERNEL_RELEASE:= 1 KERNEL_HASH:= be42511fe5321012bb4a2009167ce56a9e5fe362b4af43e8c371b3666859806c endif -ifeq ($(ADK_KERNEL_VERSION_3_18_6),y) -KERNEL_VERSION:= 3.18.6 +ifeq ($(ADK_KERNEL_VERSION_3_18_8),y) +KERNEL_VERSION:= 3.18.8 KERNEL_MOD_VERSION:= $(KERNEL_VERSION) KERNEL_RELEASE:= 1 -KERNEL_HASH:= c4c1a4841173aa572d79b7530db92ce493dbefe8049e6f461a46dd897df253f5 +KERNEL_HASH:= 9cfbd9d403f2b27951893f5ed73f694f65409c63f20a2fd394598a3d7004aadb endif ifeq ($(ADK_KERNEL_VERSION_3_14_28),y) KERNEL_VERSION:= 3.14.28 diff --git a/mk/modules.mk b/mk/modules.mk index ccb48ba3e..3bf580ec1 100644 --- a/mk/modules.mk +++ b/mk/modules.mk @@ -473,13 +473,13 @@ $(eval $(call KMOD_template,NF_CONNTRACK,nf-conntrack,\ $(MODULES_DIR)/kernel/net/netfilter/xt_conntrack \ ,41)) -$(eval $(call KMOD_template,NETFILTER_XT_NAT,netfilter-xt-nat,\ - $(MODULES_DIR)/kernel/net/netfilter/xt_nat \ -,40)) - $(eval $(call KMOD_template,NF_NAT,nf-nat,\ $(MODULES_DIR)/kernel/net/netfilter/nf_nat \ -,45)) +,42)) + +$(eval $(call KMOD_template,NETFILTER_XT_NAT,netfilter-xt-nat,\ + $(MODULES_DIR)/kernel/net/netfilter/xt_nat \ +,43)) $(eval $(call KMOD_template,NF_CONNTRACK_IPV4,nf-conntrack-ipv4,\ $(MODULES_DIR)/kernel/net/ipv4/netfilter/nf_defrag_ipv4 \ @@ -488,6 +488,7 @@ $(eval $(call KMOD_template,NF_CONNTRACK_IPV4,nf-conntrack-ipv4,\ $(eval $(call KMOD_template,NF_NAT_IPV4,nf-nat-ipv4,\ $(MODULES_DIR)/kernel/net/ipv4/netfilter/nf_nat_ipv4 \ + $(MODULES_DIR)/kernel/net/ipv4/netfilter/nf_nat_masquerade_ipv4 \ ,50)) $(eval $(call KMOD_template,IP_NF_NAT,ip-nf-nat,\ @@ -588,6 +589,7 @@ $(eval $(call KMOD_template,IP_NF_FILTER,ip-nf-filter,\ ,55)) $(eval $(call KMOD_template,IP_NF_TARGET_REJECT,ip-nf-target-reject,\ + $(MODULES_DIR)/kernel/net/ipv4/netfilter/nf_reject_ipv4 \ $(MODULES_DIR)/kernel/net/ipv4/netfilter/ipt_REJECT \ ,60)) @@ -677,6 +679,7 @@ $(eval $(call KMOD_template,IP6_NF_FILTER,ip6-nf-filter,\ ,55)) $(eval $(call KMOD_template,IP6_NF_TARGET_REJECT,ip6-nf-target-reject,\ + $(MODULES_DIR)/kernel/net/ipv6/netfilter/nf_reject_ipv6 \ $(MODULES_DIR)/kernel/net/ipv6/netfilter/ip6t_REJECT \ ,60)) @@ -1099,6 +1102,7 @@ $(eval $(call KMOD_template,RPCSEC_GSS_KRB5,rpcsec-gss-krb5,\ ,26)) $(eval $(call KMOD_template,LOCKD,lockd,\ + $(MODULES_DIR)/kernel/fs/nfs_common/grace \ $(MODULES_DIR)/kernel/fs/lockd/lockd \ ,27)) diff --git a/mk/os.mk b/mk/os.mk new file mode 100644 index 000000000..38a2e53f3 --- /dev/null +++ b/mk/os.mk @@ -0,0 +1,11 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +# operating system quirks +ifeq (${OStype},Darwin) +HOST_CC:=clang -fbracket-depth=1024 +HOST_CXX:=clang++ -fbracket-depth=1024 +else +HOST_CC:=${CC} +HOST_CXX:=${CXX} +endif diff --git a/mk/package.mk b/mk/package.mk index 65d9c8f9f..3b27d1278 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -308,7 +308,7 @@ clean-targets: clean: @$(CMD_TRACE) "cleaning... " @$(MAKE) clean-targets $(MAKE_TRACE) - rm -rf ${WRKDIR} ${ALL_IPKGS} ${STAGING_PKG_DIR}/stamps/${PKG_NAME}${PKG_VERSION} + rm -rf ${WRKDIR} ${ALL_IPKGS} ${_IPKGS_COOKIE} distclean: clean rm -f ${FULLDISTFILES} diff --git a/mk/vars.mk b/mk/vars.mk index 73929643c..605248a37 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -107,6 +107,7 @@ 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 +# for archiectures where gcc --with-cpu matches -mcpu= ifneq ($(ADK_TARGET_GCC_CPU),) ifeq ($(ADK_CPU_ARC700),y) TARGET_CFLAGS+= -mcpu=ARC700 @@ -117,16 +118,44 @@ TARGET_CXXFLAGS+= -mcpu=$(ADK_TARGET_GCC_CPU) endif endif +# for archiectures where gcc --with-arch matches -march= ifneq ($(ADK_TARGET_GCC_ARCH),) TARGET_CFLAGS+= -march=$(ADK_TARGET_GCC_ARCH) TARGET_CXXFLAGS+= -march=$(ADK_TARGET_GCC_ARCH) endif +ifneq ($(ADK_TARGET_CPU_FLAGS),) +TARGET_CFLAGS+= $(ADK_TARGET_CPU_FLAGS) +TARGET_CXXFLAGS+= $(ADK_TARGET_CPU_FLAGS) +endif + +ifneq ($(ADK_TARGET_FPU),) +TARGET_CFLAGS+= -mfpu=$(ADK_TARGET_FPU) +TARGET_CXXFLAGS+= -mfpu=$(ADK_TARGET_FPU) +endif + +ifneq ($(ADK_TARGET_FLOAT),) +ifeq ($(ADK_TARGET_ARCH_ARM),y) +TARGET_CFLAGS+= -mfloat-abi=$(ADK_TARGET_FLOAT) +TARGET_CXXFLAGS+= -mfloat-abi=$(ADK_TARGET_FLOAT) +endif +ifeq ($(ADK_TARGET_ARCH_MIPS),y) +TARGET_CFLAGS+= -m$(ADK_TARGET_FLOAT)-float +TARGET_CXXFLAGS+= -m$(ADK_TARGET_FLOAT)-float +endif +endif + +ifeq ($(ADK_TARGET_ARCH_ARM),y) ifeq ($(ADK_TARGET_BINFMT_FLAT),y) -TARGET_LDFLAGS+= -elf2flt +TARGET_CFLAGS+= -Wl,-elf2flt +TARGET_CXXFLAGS+= -Wl,-elf2flt +endif endif ifeq ($(ADK_TARGET_ARCH_M68K),y) +ifeq ($(ADK_TARGET_BINFMT_FLAT),y) +TARGET_LDFLAGS+= -elf2flt +endif ifeq ($(ADK_TARGET_BINFMT_FLAT_SEP_DATA),y) TARGET_CFLAGS+= -msep-data TARGET_CXXFLAGS+= -msep-data @@ -215,6 +244,10 @@ TARGET_CXXFLAGS+= -fno-unwind-tables -fno-asynchronous-unwind-tables endif ifeq ($(ADK_TARGET_ARCH_ARM),y) +ifeq ($(ADK_TARGET_CPU_WITH_NEON),y) +TARGET_CFLAGS+= -funsafe-math-optimizations +TARGET_CXXFLAGS+= -funsafe-math-optimizations +endif ifeq ($(ADK_TARGET_ARCH_ARM_WITH_THUMB),y) TARGET_CFLAGS+= -mthumb -Wa,-mimplicit-it=thumb TARGET_CXXFLAGS+= -mthumb -Wa,-mimplicit-it=thumb |