summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk')
-rw-r--r--mk/build.mk18
-rw-r--r--mk/fetch.mk2
-rw-r--r--mk/host-bottom.mk16
-rw-r--r--mk/image.mk107
-rw-r--r--mk/kernel-build.mk15
-rw-r--r--mk/kernel-vars.mk16
-rw-r--r--mk/linux-ver.mk50
-rw-r--r--mk/linux.mk4
-rw-r--r--mk/mirrors.mk30
-rw-r--r--mk/perl.mk2
-rw-r--r--mk/pkg-bottom.mk13
-rw-r--r--mk/python.mk3
-rw-r--r--mk/python3.mk2
-rw-r--r--mk/vars.mk36
14 files changed, 190 insertions, 124 deletions
diff --git a/mk/build.mk b/mk/build.mk
index 1fe387598..89c7303bf 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -33,8 +33,6 @@ DEFCONFIG= ADK_DEBUG=n \
ADK_TARGET_USE_SSP=n \
ADK_TOOLCHAIN_WITH_LTO=n \
ADK_TARGET_USE_LTO=n \
- ADK_TOOLCHAIN_WITH_GOLD=n \
- ADK_TARGET_USE_GOLD=n \
ADK_TARGET_USE_GNU_HASHSTYLE=n \
ADK_TARGET_USE_PIE=n \
ADK_TARGET_USE_STATIC_LIBS_ONLY=n \
@@ -103,6 +101,12 @@ POSTCONFIG= -@\
rebuild=1;\
fi; \
done; \
+ for i in ADK_TARGET_DUAL_BOOT ADK_TARGET_QEMU_WITH_GRAPHIC;do \
+ if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \
+ touch .rebuild.grub;\
+ rebuild=1;\
+ fi; \
+ done; \
for i in ADK_TARGET_GPU_MEM ADK_LINUX_KERNEL_SND_BCM2708;do \
if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \
touch .rebuild.bcm28xx-bootloader;\
@@ -181,9 +185,13 @@ ifeq ($(ADK_TARGET_OS_BAREMETAL),y)
$(MAKE) -f mk/build.mk package/hostcompile toolchain/final
endif
ifeq ($(ADK_TARGET_OS_LINUX),y)
+ifeq ($(ADK_TARGET_NO_KERNEL),y)
+ $(MAKE) -f mk/build.mk package/hostcompile toolchain/final package_clean package/compile root_clean package/install package_index
+else
$(MAKE) -f mk/build.mk package/hostcompile toolchain/final target/config-prepare target/compile package_clean package/compile root_clean package/install target/install package_index
endif
endif
+endif
package_index:
ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
@@ -632,13 +640,13 @@ distclean cleandir:
endif # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
$(ADK_TOPDIR)/adk/tools/pkgmaker: $(ADK_TOPDIR)/adk/tools/pkgmaker.c $(ADK_TOPDIR)/adk/tools/sortfile.c $(ADK_TOPDIR)/adk/tools/strmap.c
- @$(HOST_CC) $(HOST_CFLAGS) -o $@ adk/tools/pkgmaker.c adk/tools/sortfile.c adk/tools/strmap.c
+ @$(HOST_CC) $(HOST_CFLAGS) -w -o $@ adk/tools/pkgmaker.c adk/tools/sortfile.c adk/tools/strmap.c
$(ADK_TOPDIR)/adk/tools/pkgrebuild: $(ADK_TOPDIR)/adk/tools/pkgrebuild.c $(ADK_TOPDIR)/adk/tools/strmap.c
- @$(HOST_CC) $(HOST_CFLAGS) -o $@ adk/tools/pkgrebuild.c adk/tools/strmap.c
+ @$(HOST_CC) $(HOST_CFLAGS) -w -o $@ adk/tools/pkgrebuild.c adk/tools/strmap.c
$(ADK_TOPDIR)/adk/tools/depmaker: $(ADK_TOPDIR)/adk/tools/depmaker.c
- @$(HOST_CC) $(HOST_CFLAGS) -o $@ $(ADK_TOPDIR)/adk/tools/depmaker.c
+ @$(HOST_CC) $(HOST_CFLAGS) -w -o $@ $(ADK_TOPDIR)/adk/tools/depmaker.c
menu .menu: $(wildcard package/*/Makefile) $(wildcard target/*/systems) $(wildcard target/*/systems/*) $(ADK_TOPDIR)/adk/tools/pkgmaker $(ADK_TOPDIR)/adk/tools/pkgrebuild $(wildcard tasks/*)
@printf " ---> generating menu structure.. "
diff --git a/mk/fetch.mk b/mk/fetch.mk
index 0d3e90a34..bc6838256 100644
--- a/mk/fetch.mk
+++ b/mk/fetch.mk
@@ -92,7 +92,7 @@ $(1):
(cd $${PKG_NAME}-$${PKG_VERSION}; git submodule update --init --recursive) $(DL_TRACE); \
fi; \
rm -rf $${PKG_NAME}-$${PKG_VERSION}/.git; \
- PATH='$(HOST_PATH)' tar cJf $${PKG_NAME}-$${PKG_VERSION}.tar.xz $${PKG_NAME}-$${PKG_VERSION}; \
+ PATH='$(HOST_PATH)' tar czf $${PKG_NAME}-$${PKG_VERSION}.tar.gz $${PKG_NAME}-$${PKG_VERSION}; \
touch $$$${filename}.nohash; \
rm -rf $${PKG_NAME}-$${PKG_VERSION}; \
: check the size here; \
diff --git a/mk/host-bottom.mk b/mk/host-bottom.mk
index 9daf8f7c6..26526dff9 100644
--- a/mk/host-bottom.mk
+++ b/mk/host-bottom.mk
@@ -61,11 +61,13 @@ ifeq (${HOST_CONFIG_STYLE},cmake)
endif
ifeq (${HOST_CONFIG_STYLE},meson)
@$(CMD_TRACE) "configuring meson.. "
- cd ${WRKSRC}; PATH='${HOST_PATH}' \
- meson --prefix $(STAGING_HOST_DIR)/usr \
+ cd ${WRKSRC}; env PATH='${HOST_PATH}' CPPFLAGS='$(HOST_CPPFLAGS)' \
+ LDFLAGS='$(HOST_LDFLAGS)' CFLAGS='$(HOST_CFLAGS)' \
+ meson setup --prefix $(STAGING_HOST_DIR)/usr \
--pkg-config-path $(STAGING_HOST_DIR)/usr/lib/pkgconfig \
- --buildtype release $(MESON_FLAGS) \
- $(WRKSRC) $(WRKBUILD)
+ --buildtype release $(HOST_MESON_FLAGS) \
+ --wrap-mode=nodownload \
+ $(WRKSRC) $(WRKBUILD) $(MAKE_TRACE)
endif
ifeq (${HOST_CONFIG_STYLE},perl)
@$(CMD_TRACE) "configuring perl module.. "
@@ -86,7 +88,7 @@ host-build:
${_HOST_BUILD_COOKIE}: ${_HOST_CONFIGURE_COOKIE}
@$(CMD_TRACE) "compiling.. "
ifneq ($(filter meson,${HOST_STYLE}),)
- PATH='$(HOST_PATH)' ninja -v -C $(WRKBUILD)
+ PATH='$(HOST_PATH)' LD_LIBRARY_PATH='$(STAGING_HOST_DIR)/usr/lib' ninja -v -C $(WRKBUILD) $(MAKE_TRACE)
else ifneq (${HOST_STYLE},manual)
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -j${ADK_MAKE_JOBS} -f ${MAKE_FILE} \
${HOST_MAKE_FLAGS} ${HOST_ALL_TARGET} $(MAKE_TRACE)
@@ -109,6 +111,10 @@ ifeq (${HOST_INSTALL_STYLE},auto)
cd ${WRKBUILD} && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
DESTDIR='${STAGING_HOST_DIR}' ${HOST_FAKE_FLAGS} ${HOST_INSTALL_TARGET} $(MAKE_TRACE)
endif
+ifeq (${HOST_INSTALL_STYLE},meson)
+ DESTDIR='' PATH='$(HOST_PATH)' \
+ ninja -C $(WRKBUILD) install $(MAKE_TRACE)
+endif
ifeq (${HOST_INSTALL_STYLE},manual)
env ${HOST_MAKE_ENV} ${MAKE} host-install $(MAKE_TRACE)
endif
diff --git a/mk/image.mk b/mk/image.mk
index bc1fe5223..d2059c5cc 100644
--- a/mk/image.mk
+++ b/mk/image.mk
@@ -13,6 +13,8 @@ ifeq (${ADK_BINSH_ASH},y)
BINSH:=ash
else ifeq (${ADK_BINSH_BASH},y)
BINSH:=bash
+else ifeq (${ADK_BINSH_TOYSH},y)
+BINSH:=toysh
else ifeq (${ADK_BINSH_SASH},y)
BINSH:=sash
else ifeq (${ADK_BINSH_HUSH},y)
@@ -30,6 +32,8 @@ ifeq (${ADK_ROOTSH_ASH},y)
ROOTSH:=/bin/ash
else ifeq (${ADK_ROOTSH_BASH},y)
ROOTSH:=/bin/bash
+else ifeq (${ADK_ROOTSH_TOYSH},y)
+ROOTSH:=/bin/toysh
else ifeq (${ADK_ROOTSH_SASH},y)
ROOTSH:=/bin/sash
else ifeq (${ADK_ROOTSH_HUSH},y)
@@ -98,7 +102,7 @@ ifneq ($(ADK_TARGET_ARCH_AARCH64)$(ADK_TARGET_ARCH_X86_64)$(ADK_TARGET_ARCH_PPC6
test ! -d ${TARGET_DIR}/usr/lib || rm -rf ${TARGET_DIR}/usr/lib/
(cd ${TARGET_DIR}/usr ; ln -sf ${ADK_TARGET_LIBC_PATH} lib)
endif
-ifeq ($(ADK_TARGET_ARCH_S390),y)
+ifeq ($(ADK_TARGET_ARCH_LOONGARCH)$(ADK_TARGET_ARCH_S390),y)
(cd ${TARGET_DIR}/; ln -sf lib lib64)
endif
@@ -122,8 +126,8 @@ INITRAMFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
ROOTFSSQUASHFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
ROOTFSJFFS2= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-jffs2.img
ROOTFSUBIFS= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-ubifs.img
-ROOTFSTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.xz
-ROOTFSUSERTARBALL= ${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.xz
+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}.iso
kernel-package: kernel-strip
@@ -145,14 +149,14 @@ endif
${FW_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR}/.adk kernel-package
cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | sort | \
- $(CPIO) --quiet -o -Hustar --owner=0:0 | $(XZ) -c >$@
+ $(CPIO) --quiet -o -Hustar --owner=0:0 | gzip -c >$@
ifeq ($(ADK_TARGET_QEMU),y)
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
endif
${FW_DIR}/${ROOTFSUSERTARBALL}: ${TARGET_DIR}/.adk
cd ${TARGET_DIR}; find . | grep -v ./boot/ | sed -n '/^\.\//s///p' | sort | \
- $(CPIO) --quiet -o -Hustar --owner=0:0 | $(XZ) -c >$@
+ $(CPIO) --quiet -o -Hustar --owner=0:0 | gzip -c >$@
${STAGING_TARGET_DIR}/${INITRAMFS}_list: ${TARGET_DIR}/.adk
PATH='${HOST_PATH}' $(BASH) ${SCRIPT_DIR}/gen_initramfs_list.sh -u squash -g squash \
@@ -160,13 +164,23 @@ ${STAGING_TARGET_DIR}/${INITRAMFS}_list: ${TARGET_DIR}/.adk
( \
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/null 0644 0 0 c 1 3"; \
+ echo "nod /dev/tty0 0644 0 0 c 4 0"; \
+ echo "nod /dev/tty1 0644 0 0 c 4 1"; \
+ echo "nod /dev/tty2 0644 0 0 c 4 2"; \
+ echo "nod /dev/tty3 0644 0 0 c 4 3"; \
+ echo "nod /dev/tty4 0644 0 0 c 4 4"; \
+ echo "nod /dev/tty5 0644 0 0 c 4 5"; \
+ echo "nod /dev/tty6 0644 0 0 c 4 6"; \
+ echo "nod /dev/tty11 0644 0 0 c 4 11"; \
+ echo "nod /dev/null 0666 0 0 c 1 3"; \
+ echo "nod /dev/zero 0666 0 0 c 1 5"; \
+ echo "nod /dev/kmsg 0644 0 0 c 1 11"; \
echo "nod /dev/ram 0655 0 0 b 1 1"; \
+ echo "nod /dev/mem 0665 0 0 c 1 1"; \
+ echo "nod /dev/random 0666 0 0 c 1 8"; \
+ echo "nod /dev/urandom 0666 0 0 c 1 9"; \
echo "nod /dev/ttyS0 0660 0 0 c 4 64"; \
- echo "nod /dev/ttyS1 0660 0 0 c 4 65"; \
+ echo "nod /dev/ttysclp0 0660 0 0 c 4 65"; \
echo "nod /dev/ttyB0 0660 0 0 c 11 0"; \
echo "nod /dev/ttyB1 0660 0 0 c 11 1"; \
echo "nod /dev/ttyAMA0 0660 0 0 c 204 64"; \
@@ -178,6 +192,7 @@ ${STAGING_TARGET_DIR}/${INITRAMFS}_list: ${TARGET_DIR}/.adk
echo "nod /dev/ttyBF1 0660 0 0 c 204 65"; \
echo "nod /dev/ttyUL0 0660 0 0 c 204 187"; \
echo "nod /dev/ttyUL1 0660 0 0 c 204 188"; \
+ echo "nod /dev/ttyGF0 0660 0 0 c 254 0"; \
echo "slink /init /sbin/init 755 0 0"; \
) >>$@
@@ -187,7 +202,7 @@ ${FW_DIR}/${INITRAMFS}: ${STAGING_TARGET_DIR}/${INITRAMFS}_list
${BUILD_DIR}/root.squashfs: ${TARGET_DIR}/.adk
${STAGING_HOST_DIR}/usr/bin/mksquashfs ${TARGET_DIR} \
- ${BUILD_DIR}/root.squashfs -comp xz \
+ ${BUILD_DIR}/root.squashfs -comp gzip \
-nopad -noappend -root-owned $(MAKE_TRACE)
${FW_DIR}/${ROOTFSJFFS2}: ${TARGET_DIR}
@@ -229,23 +244,17 @@ createinitramfs: ${STAGING_TARGET_DIR}/${INITRAMFS}_list
echo 'CONFIG_INITRAMFS_ROOT_UID=0'; \
echo 'CONFIG_INITRAMFS_ROOT_GID=0'; \
echo 'CONFIG_INITRAMFS_IS_LARGE=n'; \
+ echo 'CONFIG_INITRAMFS_PRESERVE_MTIME=n'; \
) >> ${LINUX_DIR}/.config
-ifeq ($(ADK_LINUX_KERNEL_COMP_XZ),y)
+ifeq ($(ADK_LINUX_KERNEL_COMP_ZSTD),y)
+ echo "CONFIG_RD_XZ=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_BZIP2=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_GZIP=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config
echo "CONFIG_RD_LZO=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_RD_XZ=y" >> ${LINUX_DIR}/.config
- echo "CONFIG_RD_ZSTD=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_INITRAMFS_COMPRESSION_XZ=y" >> ${LINUX_DIR}/.config
- echo "CONFIG_XZ_DEC_X86=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_XZ_DEC_POWERPC=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_XZ_DEC_IA64=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_XZ_DEC_ARM=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_XZ_DEC_ARMTHUMB=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_XZ_DEC_SPARC=n" >> ${LINUX_DIR}/.config
- echo "CONFIG_XZ_DEC_TEST=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_LZ4=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_LZMA=n" >> ${LINUX_DIR}/.config
+ echo "CONFIG_RD_ZSTD=y" >> ${LINUX_DIR}/.config
+ echo "CONFIG_INITRAMFS_COMPRESSION_ZSTD=y" >> ${LINUX_DIR}/.config
endif
ifeq ($(ADK_LINUX_KERNEL_COMP_LZ4),y)
echo "CONFIG_RD_XZ=n" >> ${LINUX_DIR}/.config
@@ -331,12 +340,23 @@ GENCFG:=$(ADK_TOPDIR)/adk/genimage/$(ADK_TARGET_GENIMAGE_FILENAME)
else
GENCFG:=$(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/$(ADK_TARGET_SYSTEM)/$(ADK_TARGET_GENIMAGE_FILENAME)
endif
+ifeq (,$(wildcard $(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/$(ADK_TARGET_SYSTEM)/$(ADK_TARGET_EXTLINUX_FILENAME)))
+EXTLINUX:=$(ADK_TOPDIR)/adk/extlinux/$(ADK_TARGET_EXTLINUX_FILENAME)
+else
+EXTLINUX:=$(ADK_TOPDIR)/target/$(ADK_TARGET_ARCH)/$(ADK_TARGET_SYSTEM)/$(ADK_TARGET_EXTLINUX_FILENAME)
+endif
${FW_DIR}/${GENIMAGE}: ${TARGET_DIR} kernel-package
@rm -rf ${FW_DIR}/temp
@mkdir -p ${FW_DIR}/temp
@$(CP) $(KERNEL) $(FW_DIR)/kernel
- @dd if=/dev/zero of=${FW_DIR}/cfgfs.img bs=16384 count=1 $(MAKE_TRACE)
+ @dd if=/dev/zero of=${FW_DIR}/cfgfs.img bs=16384 count=1024 $(MAKE_TRACE)
+ mkdir -p ${FW_DIR}/extlinux
+ $(CP) $(EXTLINUX) $(FW_DIR)/extlinux
+ mkdir -p $(TARGET_DIR)/boot/extlinux
+ $(CP) $(EXTLINUX) $(TARGET_DIR)/boot/extlinux
+ $(CP) $(FW_DIR)/kernel $(TARGET_DIR)/boot
+ -$(CP) $(FW_DIR)/*.dtb $(TARGET_DIR)/boot 2>/dev/null
ifeq ($(ADK_RUNTIME_FIX_PERMISSION),y)
echo '#!/bin/sh' > $(ADK_TOPDIR)/scripts/fakeroot.sh
echo "chown -R 0:0 $(TARGET_DIR)" >> $(ADK_TOPDIR)/scripts/fakeroot.sh
@@ -346,23 +366,46 @@ ifeq ($(ADK_RUNTIME_FIX_PERMISSION),y)
PATH='$(HOST_PATH)' $(FAKEROOT) $(ADK_TOPDIR)/scripts/fakeroot.sh
rm $(ADK_TOPDIR)/scripts/fakeroot.sh $(STAGING_TARGET_DIR)/scripts/permissions.sh
endif
- PATH='${HOST_PATH}' $(FAKEROOT) mke2img \
- -G 4 \
+ifeq ($(ADK_TARGET_DUAL_BOOT),y)
+ $(CP) $(FW_DIR)/kernel $(TARGET_DIR)
+ -$(CP) $(FW_DIR)/*.dtb $(TARGET_DIR) 2>/dev/null
+ mkdir $(TARGET_DIR)/extlinux
+ $(CP) $(EXTLINUX) $(TARGET_DIR)/extlinux
+ $(SED) "s#root=.*#root=/dev/$(ADK_TARGET_ROOTDEV)p1#" $(TARGET_DIR)/extlinux/extlinux.conf
+ PATH='${HOST_PATH}' $(FAKEROOT) mkfs.ext2 \
+ -d "$(TARGET_DIR)" \
+ -r 1 -N 0 -m 5 -L "rootfs1" \
+ $(FW_DIR)/rootfs1.ext "64M" $(MAKE_TRACE)
+ $(SED) "s#root=.*#root=/dev/$(ADK_TARGET_ROOTDEV)p2#" $(TARGET_DIR)/extlinux/extlinux.conf
+ PATH='${HOST_PATH}' $(FAKEROOT) mkfs.ext2 \
-d "$(TARGET_DIR)" \
- -o $(FW_DIR)/rootfs.ext $(MAKE_TRACE)
+ -r 1 -N 0 -m 5 -L "rootfs2" \
+ $(FW_DIR)/rootfs2.ext "64M" $(MAKE_TRACE)
PATH='${HOST_PATH}' genimage \
--config "$(GENCFG)" \
--tmppath "${FW_DIR}/temp" \
--rootpath "$(TARGET_DIR)" \
--inputpath "$(FW_DIR)" \
--outputpath "$(FW_DIR)" $(MAKE_TRACE)
+else
+ PATH='${HOST_PATH}' $(FAKEROOT) mkfs.ext2 \
+ -d "$(TARGET_DIR)" \
+ -r 1 -N 0 -m 5 -L "rootfs" \
+ $(FW_DIR)/rootfs.ext "64M" $(MAKE_TRACE)
+ PATH='${HOST_PATH}' genimage \
+ --config "$(GENCFG)" \
+ --tmppath "${FW_DIR}/temp" \
+ --rootpath "$(TARGET_DIR)" \
+ --inputpath "$(FW_DIR)" \
+ --outputpath "$(FW_DIR)" $(MAKE_TRACE)
+endif
ifeq ($(ADK_TARGET_DUAL_BOOT),y)
- (cd ${TARGET_DIR}; find . | grep -v ./boot/ | sed -n '/^\.\//s///p' | sort | \
+ (cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | sort | \
PATH='${HOST_PATH}' $(CPIO) -o --quiet -Hustar --owner=0:0 | \
- ${XZ} -c > ${FW_DIR}/openadk.tar.xz)
- (cd ${FW_DIR}; PATH='${HOST_PATH}' sha256sum openadk.tar.xz \
+ gzip -c > ${FW_DIR}/openadk.tar.gz)
+ (cd ${FW_DIR}; PATH='${HOST_PATH}' sha256sum openadk.tar.gz \
| cut -d\ -f1 > sha256.txt)
- (cd ${FW_DIR}; PATH='${HOST_PATH}' tar -cf ${ADK_TARGET_SYSTEM}-update.tar openadk.tar.xz sha256.txt)
+ (cd ${FW_DIR}; PATH='${HOST_PATH}' tar -cf ${ADK_TARGET_SYSTEM}-update.tar openadk.tar.gz sha256.txt)
@rm -rf ${FW_DIR}/temp
endif
ifeq ($(ADK_PACKAGE_GRUB_EFI_X86)$(ADK_PACKAGE_GRUB_EFI_X86_64),y)
diff --git a/mk/kernel-build.mk b/mk/kernel-build.mk
index bae7ab168..29458abf0 100644
--- a/mk/kernel-build.mk
+++ b/mk/kernel-build.mk
@@ -17,15 +17,13 @@ KERNEL_FILE:=$(ADK_TARGET_KERNEL)
KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
ifeq ($(ADK_TARGET_KERNEL_LINUXBIN),y)
KERNEL_FILE:=vmlinux
-KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
endif
ifeq ($(ADK_TARGET_KERNEL_ZIMAGE),y)
KERNEL_FILE:=vmlinux
-KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
endif
-ifeq ($(ADK_TARGET_KERNEL_VMLINUX_BOOTP),y)
-KERNEL_FILE:=bootpfile
-KERNEL_TARGET:=bootpfile
+ifeq ($(ADK_TARGET_KERNEL_VMLINUX_EFI),y)
+KERNEL_FILE:=vmlinux.efi
+KERNEL_TARGET:=all
endif
ifeq ($(ADK_TARGET_KERNEL_VMLINUX_GZ),y)
KERNEL_FILE:=vmlinux
@@ -37,7 +35,6 @@ KERNEL_TARGET:=all
endif
ifeq ($(ADK_TARGET_KERNEL_IMAGE),y)
KERNEL_FILE:=vmlinux
-KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
endif
ifeq ($(ADK_TARGET_KERNEL_SIMPLEIMAGE),y)
KERNEL_FILE:=vmlinux.bin
@@ -108,7 +105,6 @@ ifneq ($(KERNEL_MODULES_USED),)
modules_install $(MAKE_TRACE)
$(CMD_TRACE) " done"
$(END_TRACE)
-ifeq ($(ADK_RUNTIME_DEV_UDEV),)
$(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-modules-create-packages.. "
rm -f ${PACKAGE_DIR}/kmod-*
PATH='${HOST_PATH}' ${BASH} ${SCRIPT_DIR}/make-module-ipkgs.sh \
@@ -119,13 +115,14 @@ ifeq ($(ADK_RUNTIME_DEV_UDEV),)
"${PACKAGE_DIR}"
$(CMD_TRACE) " done"
$(END_TRACE)
-endif
$(START_TRACE) "target/${ADK_TARGET_ARCH}-kernel-modules-install-packages.. "
- for pkg in $(PACKAGE_DIR)/kmod-*; do \
+ -for pkg in $(PACKAGE_DIR)/kmod-*; do \
[[ -e "$$pkg" ]] && $(PKG_INSTALL) $$pkg; \
done
$(CMD_TRACE) " done"
$(END_TRACE)
+ $(CP) $(LINUX_BUILD_DIR)/modules/lib/modules/$(KERNEL_VERSION)/modules.{order,builtin} \
+ $(TARGET_DIR)/lib/modules/$(KERNEL_VERSION)/
endif
clean:
diff --git a/mk/kernel-vars.mk b/mk/kernel-vars.mk
index 8a5d2053d..e65d513f6 100644
--- a/mk/kernel-vars.mk
+++ b/mk/kernel-vars.mk
@@ -15,20 +15,8 @@ KERNEL_MAKE_OPTS+= V=1 \
HOSTCC="${HOST_CC}" \
HOSTCXX="${HOST_CXX}" \
SHELL='${SHELL}' \
- CONFIG_SHELL='${SHELL}'
-
-# regex for relocs needs pcre
-ifeq ($(OS_FOR_BUILD),Darwin)
-KERNEL_MAKE_OPTS+= HOSTLDFLAGS='-lpcreposix -Wl,-no_pie'
-endif
-
-# non-Linux platforms need elf.h
-ifneq ($(OS_FOR_BUILD),Linux)
-KERNEL_MAKE_OPTS+= HOSTCFLAGS='$(HOST_CPPFLAGS) ${HOST_CFLAGS}'
-KERNEL_MAKE_OPTS+= HOST_EXTRACFLAGS='-I${LINUX_DIR}/tools/include -I${LINUX_DIR}/usr/include -I${LINUX_DIR}/security/selinux/include -I${ADK_TOPDIR}/adk/include -DKBUILD_NO_NLS'
-else
-KERNEL_MAKE_OPTS+= HOSTCFLAGS='${HOST_CFLAGS}'
-endif
+ CONFIG_SHELL='${SHELL}' \
+ HOSTCFLAGS='$(HOST_CPPFLAGS) $(HOST_CFLAGS)'
ifneq ($(ADK_TARGET_KERNEL_LOADADDR),)
KERNEL_MAKE_OPTS+= LOADADDR=$(ADK_TARGET_KERNEL_LOADADDR)
diff --git a/mk/linux-ver.mk b/mk/linux-ver.mk
index 52648efe3..bd66affde 100644
--- a/mk/linux-ver.mk
+++ b/mk/linux-ver.mk
@@ -15,35 +15,59 @@ KERNEL_FILE_VER:= $(ADK_TARGET_LINUX_KERNEL_GIT)
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(ADK_TARGET_LINUX_KERNEL_GIT_VER)-$(KERNEL_RELEASE)
endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_6_14),y)
+KERNEL_FILE_VER:= 6.14.4
+KERNEL_RELEASE:= 1
+KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
+KERNEL_HASH:= 9452f28d7a0051fba4886712395b484c4c7fcf9f85944a62fd3d97dc923f5339
+endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_6_12),y)
+KERNEL_FILE_VER:= 6.12.25
+KERNEL_RELEASE:= 1
+KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
+KERNEL_HASH:= c8af780f6f613ca24622116e4c512a764335ab66e75c6643003c16e49a8e3b90
+endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_6_6),y)
+KERNEL_FILE_VER:= 6.6.88
+KERNEL_RELEASE:= 1
+KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
+KERNEL_HASH:= 19df89b63ef7e950de7297dabfac0569183bf87636f4c300a25336c7da490650
+endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_6_1),y)
+KERNEL_FILE_VER:= 6.1.135
+KERNEL_RELEASE:= 1
+KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
+KERNEL_HASH:= e9d17ae1ff96a771e0c5061a50cf9209ce457cf28c8e01165d611523f3957eb9
+endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_5_15),y)
-KERNEL_FILE_VER:= 5.15.23
+KERNEL_FILE_VER:= 5.15.180
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= e839c6fe4db9327178ecccc7fb14035000496bb8028a32735213675eefa97a1c
+KERNEL_HASH:= f51f68b8bbe60aca5e1ff3781f7e5d2ca6a31dd299c8446c39bf880bfff1cd39
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_5_10),y)
-KERNEL_FILE_VER:= 5.10.100
+KERNEL_FILE_VER:= 5.10.236
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= d56965afc9b6a3d26d53db40ccd37fd9d15f2ca6bfd54ef6f0f8b6e92c170999
+KERNEL_HASH:= 6da5cc8f7d39ed3acb4d59129a3f1570d981526ebbf58ea82595b7b6e000fb89
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_5_4),y)
-KERNEL_FILE_VER:= 5.4.193
+KERNEL_FILE_VER:= 5.4.292
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 0d16d343956d311e3f4ab3f032fd626d8e6b67c0db94edd32f561407d374f2a0
+KERNEL_HASH:= 0bcbf580d1ea623ac5879d0f2d69796c82431b3f653c4749e63766dbf737be85
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_19),y)
-KERNEL_FILE_VER:= 4.19.213
+KERNEL_FILE_VER:= 4.19.320
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 38f28c1cd6db0b54ee37a14fd17db651fe68704d08f95e141b14d32b872f4e98
+KERNEL_HASH:= 9d671a12b00301b7ce63022d4e4afa3e40aa318f8f7f25a1147e602fdb1047a1
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_14),y)
-KERNEL_FILE_VER:= 4.14.252
+KERNEL_FILE_VER:= 4.14.334
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= 933bb2e9359165da8a7eb8ae8321e88e3e070c34b827d51937ff3ba443e15908
+KERNEL_HASH:= 8a1d520cfa71e9faebae9d8c24101f5bffe48fcb897dede4cecad5af67c34a45
endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_9),y)
KERNEL_FILE_VER:= 4.9.287
@@ -63,6 +87,12 @@ KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
KERNEL_HASH:= 80b1598d389c94e83fdf15d99c7da452aeb3093fbf8ed7c91584c06c09fc1fa6
endif
+ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_3_4),y)
+KERNEL_FILE_VER:= 3.4.112
+KERNEL_RELEASE:= 1
+KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
+KERNEL_HASH:= 29c8370c4c6e639ad5e38e6eb052058d5f45add3167f2aa4cc08e6569f024181
+endif
ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_2_6_32),y)
KERNEL_FILE_VER:= 2.6.32.70
KERNEL_RELEASE:= 1
diff --git a/mk/linux.mk b/mk/linux.mk
index 37f7b8684..09f62c2da 100644
--- a/mk/linux.mk
+++ b/mk/linux.mk
@@ -7,9 +7,11 @@ ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_GIT),y)
PKG_VERSION:= $(ADK_TARGET_LINUX_KERNEL_GIT)
PKG_GIT:= $(ADK_TARGET_LINUX_KERNEL_GIT_TYPE)
PKG_SITES:= $(ADK_TARGET_LINUX_KERNEL_GIT_REPO)
+DISTFILES= $(PKG_NAME)-$(PKG_VERSION).tar.gz
else
PKG_VERSION:= $(KERNEL_FILE_VER)
-PKG_SITES:= ${MASTER_SITE_KERNEL:=kernel/v5.x/} \
+PKG_SITES:= ${MASTER_SITE_KERNEL:=kernel/v6.x/} \
+ ${MASTER_SITE_KERNEL:=kernel/v5.x/} \
${MASTER_SITE_KERNEL:=kernel/v4.x/} \
${MASTER_SITE_KERNEL:=kernel/v3.x/} \
${MASTER_SITE_KERNEL:=kernel/v3.0/testing/} \
diff --git a/mk/mirrors.mk b/mk/mirrors.mk
index a8dc27f6a..dba447fec 100644
--- a/mk/mirrors.mk
+++ b/mk/mirrors.mk
@@ -12,8 +12,8 @@ MASTER_SITE_MIRBSD?= \
ifeq ($(ADK_TARGET_KERNEL_NO_MIRROR),)
MASTER_SITE_KERNEL?= \
+ https://www.kernel.org/pub/linux/ \
http://www.kernel.org/pub/linux/ \
- ftp://www.kernel.org/pub/linux/ \
else
MASTER_SITE_KERNEL?= \
@@ -22,23 +22,8 @@ MASTER_SITE_KERNEL?= \
endif
MASTER_SITE_GNU?= \
+ https://ftp.gnu.org/gnu/ \
http://ftp.gnu.org/gnu/ \
- ftp://ftp.gnu.org/gnu/ \
- ftp://ftp.funet.fi/pub/gnu/prep/ \
- ftp://mirrors.usc.edu/pub/gnu/ \
- ftp://ftp.cs.tu-berlin.de/pub/gnu/ \
- ftp://aeneas.mit.edu/pub/gnu/ \
- ftp://mirrors.dotsrc.org/gnu/ \
- ftp://ftp.wustl.edu/pub/gnu/ \
- ftp://ftp.kddilabs.jp/GNU/ \
- ftp://ftp.mirror.ac.uk/sites/ftp.gnu.org/gnu/ \
- ftp://sunsite.org.uk/package/gnu/ \
- ftp://ftp.informatik.hu-berlin.de/pub/gnu/ \
- ftp://ftp.rediris.es/mirror/gnu/gnu/ \
- ftp://ftp.cs.univ-paris8.fr/mirrors/ftp.gnu.org/ \
- ftp://ftp.chg.ru/pub/gnu/ \
- ftp://ftp.uvsq.fr/pub/gnu/ \
- ftp://ftp.sunet.se/pub/gnu/ \
MASTER_SITE_SOURCEFORGE?= \
http://jaist.dl.sourceforge.net/sourceforge/ \
@@ -50,19 +35,10 @@ MASTER_SITE_SOURCEFORGE?= \
http://easynews.dl.sourceforge.net/sourceforge/ \
MASTER_SITE_MYSQL?= \
- ftp://ftp.fu-berlin.de/unix/databases/mysql/ \
http://sunsite.informatik.rwth-aachen.de/mysql/ \
+ ftp://ftp.fu-berlin.de/unix/databases/mysql/ \
http://mysql.easynet.be/ \
MASTER_SITE_GNOME?= \
https://download.gnome.org/sources/ \
- ftp://ftp.gnome.org/pub/GNOME/sources/ \
- ftp://ftp.linux.org.uk/mirrors/ftp.gnome.org/sources/ \
- ftp://ftp.acc.umu.se/pub/GNOME/sources/ \
- ftp://ftp.rpmfind.net/linux/gnome.org/sources/ \
- ftp://ftp.unina.it/pub/linux/GNOME/sources/ \
- ftp://ftp.belnet.be/mirror/ftp.gnome.org/sources/ \
- ftp://ftp.dit.upm.es/linux/gnome/sources/ \
- ftp://ftp.dataplus.se/pub/linux/gnome/sources/ \
- ftp://ftp.cse.buffalo.edu/pub/Gnome/sources/ \
diff --git a/mk/perl.mk b/mk/perl.mk
index 893e8cb11..faaf078a9 100644
--- a/mk/perl.mk
+++ b/mk/perl.mk
@@ -1,4 +1,4 @@
-PERL_VERSION=5.32.1
+PERL_VERSION=5.38.0
PERL_ARCHNAME:=$(ADK_TARGET_CPU_ARCH)-linux
PERL_SITEDIR:=/usr/lib/perl5/site_perl/$(PERL_VERSION)
PERL_INCDIR:=/usr/lib/perl5/$(PERL_VERSION)/$(PERL_ARCHNAME)/CORE
diff --git a/mk/pkg-bottom.mk b/mk/pkg-bottom.mk
index 424a42ca9..d4b50ff12 100644
--- a/mk/pkg-bottom.mk
+++ b/mk/pkg-bottom.mk
@@ -53,11 +53,11 @@ ifneq ($(filter manual,${CONFIG_STYLE}),)
else ifneq ($(filter meson,${CONFIG_STYLE}),)
@$(CMD_TRACE) "configuring meson.. "
(cd ${WRKSRC} && $(MESON_ENV) \
- meson --prefix /usr --libdir lib \
+ meson setup --prefix /usr --libdir lib \
--cross-file $(STAGING_HOST_DIR)/etc/meson/cross-compilation.conf \
--build.pkg-config-path $(STAGING_HOST_DIR)/usr/lib/pkgconfig \
--buildtype release $(MESON_FLAGS) \
- $(WRKSRC) $(WRKBUILD))
+ $(WRKSRC) $(WRKBUILD)) $(MAKE_TRACE)
else ifneq ($(filter cmake,${CONFIG_STYLE}),)
@$(CMD_TRACE) "configuring cmake.. "
sed -e "s#@@TARGET_CC@@#$(TARGET_CC_NO_CCACHE)#" \
@@ -69,7 +69,7 @@ else ifneq ($(filter cmake,${CONFIG_STYLE}),)
-e "s#@@STAGING_HOST_DIR@@#$(STAGING_HOST_DIR)#g" \
$(SCRIPT_DIR)/toolchain.cmake.in > $(SCRIPT_DIR)/toolchain.cmake
(cd ${WRKBUILD} && PATH='${HOST_PATH}' \
- cmake -Wno-dev -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ cmake -Wno-dev -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE="$(SCRIPT_DIR)/toolchain.cmake" \
${CMAKE_FLAGS} ${WRKSRC}) $(MAKE_TRACE)
else ifneq ($(filter minimal,${CONFIG_STYLE}),)
@@ -116,6 +116,7 @@ else ifeq ($(strip ${CONFIG_STYLE}),)
--disable-dependency-tracking \
--disable-libtool-lock \
--disable-nls \
+ --disable-silent-rules \
${CONFIGURE_LIB} \
${CONFIGURE_ARGS} $(MAKE_TRACE)
else
@@ -139,11 +140,11 @@ ${_BUILD_COOKIE}: ${_CONFIGURE_COOKIE}
@env ${MAKE_ENV} ${MAKE} pre-build $(MAKE_TRACE)
@$(CMD_TRACE) "compiling.. "
ifneq ($(filter meson,${BUILD_STYLE}),)
- PATH='$(HOST_PATH)' ninja -v -C $(WRKBUILD)
+ PATH='$(HOST_PATH)' LD_LIBRARY_PATH='$(STAGING_HOST_DIR)/usr/lib' ninja -v -C $(WRKBUILD) $(MAKE_TRACE)
else ifneq ($(filter manual,${BUILD_STYLE}),)
env ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} do-build $(MAKE_TRACE)
else ifeq ($(strip ${BUILD_STYLE}),)
- cd ${WRKBUILD} && env ${MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ cd ${WRKBUILD} && env ${MAKE_ENV} LD_LIBRARY_PATH='$(STAGING_HOST_DIR)/usr/lib' ${MAKE} -f ${MAKE_FILE} \
${MAKE_FLAGS} ${ALL_TARGET} $(MAKE_TRACE)
else
@echo "Invalid BUILD_STYLE '${BUILD_STYLE}'" >&2
@@ -167,7 +168,7 @@ ifneq ($(filter meson,${INSTALL_STYLE}),)
else ifneq ($(filter manual,${INSTALL_STYLE}),)
env ${MAKE_ENV} ${MAKE} do-install $(MAKE_TRACE)
else ifeq ($(strip ${INSTALL_STYLE}),)
- cd ${WRKBUILD} && env ${MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \
+ cd ${WRKBUILD} && env ${MAKE_ENV} LD_LIBRARY_PATH='$(STAGING_HOST_DIR)/usr/lib' ${MAKE} -f ${MAKE_FILE} \
DESTDIR='${WRKINST}' ${FAKE_FLAGS} ${INSTALL_TARGET} $(MAKE_TRACE)
env ${MAKE_ENV} ${MAKE} post-install $(MAKE_TRACE)
else
diff --git a/mk/python.mk b/mk/python.mk
deleted file mode 100644
index 56008760a..000000000
--- a/mk/python.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-PYTHON_VERSION=2.7
-PYTHON_LIBDIR:=$(STAGING_HOST_DIR)/usr/lib
-PYTHON:=${STAGING_HOST_DIR}/usr/bin/python
diff --git a/mk/python3.mk b/mk/python3.mk
index 8c0ca363b..c2e9f7a27 100644
--- a/mk/python3.mk
+++ b/mk/python3.mk
@@ -1,3 +1,3 @@
-PYTHON_VERSION=3.9
+PYTHON_VERSION=3.11
PYTHON_LIBDIR:=$(STAGING_HOST_DIR)/usr/lib
PYTHON:=${STAGING_HOST_DIR}/usr/bin/python3
diff --git a/mk/vars.mk b/mk/vars.mk
index 2be0c33cb..91dfc700e 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -168,6 +168,10 @@ ifeq ($(ADK_TARGET_ARCH_MIPS),y)
TARGET_CFLAGS+= -m$(ADK_TARGET_FLOAT)-float
TARGET_CXXFLAGS+= -m$(ADK_TARGET_FLOAT)-float
endif
+ifeq ($(ADK_TARGET_ARCH_OR1K),y)
+TARGET_CFLAGS+= -m$(ADK_TARGET_FLOAT)-float
+TARGET_CXXFLAGS+= -m$(ADK_TARGET_FLOAT)-float
+endif
endif
ifeq ($(ADK_TARGET_BINFMT_FLAT),y)
@@ -198,6 +202,13 @@ ifneq ($(ADK_TARGET_USE_LD_BIND_NOW),)
TARGET_LDFLAGS+= -Wl,-z,now
endif
+ifeq ($(ADK_TARGET_ARCH_RISCV64)$(ADK_TARGET_ARCH_RISCV32),y)
+ifeq ($(ADK_TARGET_BINFMT_FLAT),y)
+TARGET_CFLAGS+= -fPIC
+TARGET_CXXFLAGS+= -fPIC
+endif
+endif
+
# needed for musl ppc
ifeq ($(ADK_TARGET_ARCH_PPC),y)
ifeq ($(ADK_TARGET_LIB_MUSL),y)
@@ -205,11 +216,17 @@ TARGET_LDFLAGS+= -Wl,--secure-plt
endif
endif
+ifneq ($(ADK_TARGET_BINFMT_ELF)$(ADK_TARGET_WITH_MMU),y)
ifeq ($(ADK_TARGET_USE_STATIC_LIBS_ONLY)$(ADK_TARGET_USE_STATIC_AND_SHARED_LIBS),y)
TARGET_CFLAGS+= -static
TARGET_CXXFLAGS+= -static
TARGET_LDFLAGS+= -static
endif
+else
+TARGET_CFLAGS+= -fpie
+TARGET_CXXFLAGS+= -fpie
+TARGET_LDFLAGS+= -fpie -pie
+endif
ifneq ($(ADK_TARGET_USE_SSP),)
TARGET_CFLAGS+= -fstack-protector-all --param=ssp-buffer-size=4
@@ -280,8 +297,8 @@ endif
# workaround gcc bug for m68k/coldfire
ifeq ($(ADK_TARGET_CPU_CF),y)
-TARGET_CFLAGS+= -fno-dwarf2-cfi-asm
-TARGET_CXXFLAGS+= -fno-dwarf2-cfi-asm
+TARGET_CFLAGS+= -fno-dwarf2-cfi-asm -mxgot
+TARGET_CXXFLAGS+= -fno-dwarf2-cfi-asm -mxgot
endif
ifeq ($(ADK_TARGET_ARCH_ARM),y)
@@ -298,13 +315,15 @@ TARGET_CXXFLAGS+= -marm
endif
endif
+ifeq ($(ADK_TARGET_BINFMT_FDPIC),y)
+TARGET_CFLAGS+= -mfdpic
+TARGET_CXXFLAGS+= -mfdpic
+TARGET_LDFLAGS+= -mfdpic
+endif
+
# host compiler and linker flags
HOST_CPPFLAGS:= -I$(STAGING_HOST_DIR)/usr/include
-ifeq ($(OS_FOR_BUILD),Darwin)
-HOST_LDFLAGS:= -L$(STAGING_HOST_DIR)/usr/lib
-else
HOST_LDFLAGS:= -L$(STAGING_HOST_DIR)/usr/lib -Wl,-rpath -Wl,${STAGING_HOST_DIR}/usr/lib
-endif
ifneq (${ADK_UPDATE_PATCHES_GIT},)
PATCH= PATH='${HOST_PATH}' ${BASH} $(SCRIPT_DIR)/patch_git.sh
@@ -316,11 +335,10 @@ PATCHP0= PATH='${HOST_PATH}' patch -p0
ifeq ($(ADK_STATIC_TOOLCHAIN),y)
HOST_STATIC_CFLAGS:= -static -Wl,-static
HOST_STATIC_CXXFLAGS:= -static -Wl,-static
-HOST_STATIC_LDFLAGS:= -Wl,-static
+HOST_STATIC_LDFLAGS:= -Wl,-static -all-static
endif
SED:= PATH='${HOST_PATH}' sed -i -e
-XZ:= PATH='${HOST_PATH}' xz
CPIO:= PATH='${HOST_PATH}' cpio
LINUX_DIR:= $(BUILD_DIR)/$(ADK_TARGET_OS)
KERNEL_MODULE_FLAGS:= ARCH=${ADK_TARGET_KARCH} \
@@ -404,7 +422,7 @@ PKG_INSTALL:= PATH='${HOST_PATH}' \
PKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/opkg
endif
-ifeq ($(ADK_TARGET_PACKAGE_TXZ),y)
+ifeq ($(ADK_TARGET_PACKAGE_TGZ),y)
PKG_BUILD:= ${BASH} ${SCRIPT_DIR}/tarpkg build
PKG_INSTALL:= PKG_INSTROOT='$(TARGET_DIR)' \
PATH='${HOST_PATH}' ${BASH} ${SCRIPT_DIR}/tarpkg install