diff options
Diffstat (limited to 'mk')
-rw-r--r-- | mk/build.mk | 16 | ||||
-rw-r--r-- | mk/fetch.mk | 2 | ||||
-rw-r--r-- | mk/host-bottom.mk | 14 | ||||
-rw-r--r-- | mk/host.mk | 2 | ||||
-rw-r--r-- | mk/image.mk | 109 | ||||
-rw-r--r-- | mk/kernel-build.mk | 31 | ||||
-rw-r--r-- | mk/kernel-vars.mk | 26 | ||||
-rw-r--r-- | mk/linux-ver.mk | 50 | ||||
-rw-r--r-- | mk/linux.mk | 3 | ||||
-rw-r--r-- | mk/mirrors.mk | 1 | ||||
-rw-r--r-- | mk/package.mk | 9 | ||||
-rw-r--r-- | mk/perl.mk | 2 | ||||
-rw-r--r-- | mk/pkg-bottom.mk | 10 | ||||
-rw-r--r-- | mk/python.mk | 3 | ||||
-rw-r--r-- | mk/python3.mk | 2 | ||||
-rw-r--r-- | mk/vars.mk | 34 |
16 files changed, 194 insertions, 120 deletions
diff --git a/mk/build.mk b/mk/build.mk index a0a4242bd..1fe387598 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -24,7 +24,6 @@ DEFCONFIG= ADK_DEBUG=n \ ADK_USE_CCACHE=n \ ADK_RUNTIME_START_SERVICES=n \ ADK_PACKAGE_BASE_FILES=y \ - ADK_PACKAGE_DBUS_WITH_SYSTEMD=n \ ADK_PACKAGE_KEXECINIT=n \ ADK_PACKAGE_CLASSPATH=n \ ADK_PACKAGE_LM_SENSORS_DETECT=n \ @@ -160,6 +159,8 @@ endif ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y) include $(ADK_TOPDIR)/rules.mk +include $(ADK_TOPDIR)/mk/kernel-vars.mk + all: world ${ADK_TOPDIR}/package/Depends.mk: ${ADK_TOPDIR}/.config $(wildcard ${ADK_TOPDIR}/package/*/Makefile) $(ADK_TOPDIR)/adk/tools/depmaker @@ -232,9 +233,8 @@ targethelp: $(MAKE) -C target targethelp kernelconfig: - ${KERNEL_MAKE_ENV} ${MAKE} -C "${LINUX_DIR}" \ + ${MAKE} -C "${LINUX_DIR}" \ ARCH=$(ADK_TARGET_KARCH) \ - ${KERNEL_MAKE_OPTS} \ menuconfig ifeq ($(ADK_TARGET_LINUX_KERNEL_USE_CUSTOMCONFIG),y) @@ -565,11 +565,17 @@ allconfig: |sed -e "s#^config \(.*\)#\1=y#" \ >> $(ADK_TOPDIR)/all.config; \ fi + @if [ ! -z "$(ADK_TARGET_OS)" ];then \ + grep "^config" target/config/Config.in.os \ + |grep -i "_$(ADK_TARGET_OS)$$" \ + |sed -e "s#^config \(.*\)#\1=y#" \ + >> $(ADK_TOPDIR)/all.config; \ + fi @if [ ! -z "$(ADK_TARGET_ARCH)" ];then \ grep "^config" target/config/Config.in.arch.choice \ - |grep -i "$(ADK_TARGET_ARCH)"\$$ \ + |grep -i "$(ADK_TARGET_OS)_ARCH_$(ADK_TARGET_ARCH)$$" \ |sed -e "s#^config \(.*\)#\1=y#" \ - >> $(ADK_TOPDIR)/all.config; \ + >> $(ADK_TOPDIR)/all.config; \ fi @for symbol in ${DEFCONFIG}; do \ echo $$symbol >> $(ADK_TOPDIR)/all.config; \ 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 29cfc57ea..f7e635f15 100644 --- a/mk/host-bottom.mk +++ b/mk/host-bottom.mk @@ -56,9 +56,17 @@ endif ifeq (${HOST_CONFIG_STYLE},cmake) @$(CMD_TRACE) "configuring cmake.. " cd ${WRKBUILD}; PATH='${HOST_PATH}' \ - cmake -Wno-dev -DCMAKE_INSTALL_PREFIX:PATH=/usr \ + cmake -Wno-dev -DCMAKE_INSTALL_PREFIX:PATH=$(STAGING_HOST_DIR)/usr \ ${HOST_CMAKE_FLAGS} ${WRKSRC} $(MAKE_TRACE) endif +ifeq (${HOST_CONFIG_STYLE},meson) + @$(CMD_TRACE) "configuring meson.. " + cd ${WRKSRC}; PATH='${HOST_PATH}' \ + meson --prefix $(STAGING_HOST_DIR)/usr \ + --pkg-config-path $(STAGING_HOST_DIR)/usr/lib/pkgconfig \ + --buildtype release $(HOST_MESON_FLAGS) \ + $(WRKSRC) $(WRKBUILD) $(MAKE_TRACE) +endif ifeq (${HOST_CONFIG_STYLE},perl) @$(CMD_TRACE) "configuring perl module.. " cd ${WRKBUILD}; \ @@ -77,7 +85,9 @@ endif host-build: ${_HOST_BUILD_COOKIE}: ${_HOST_CONFIGURE_COOKIE} @$(CMD_TRACE) "compiling.. " -ifneq (${HOST_STYLE},manual) +ifneq ($(filter meson,${HOST_STYLE}),) + PATH='$(HOST_PATH)' 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) endif diff --git a/mk/host.mk b/mk/host.mk index 9ff38ac6f..33c437836 100644 --- a/mk/host.mk +++ b/mk/host.mk @@ -15,7 +15,7 @@ HOST_AUTOTOOL_ENV+= PATH='${HOST_PATH}' \ HOST_CONFIGURE_ENV?= PATH='${HOST_PATH}' \ ${COMMON_ENV} \ ${HOST_ENV} \ - PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig:${STAGING_HOST_DIR}/usr/share/pkgconfig' \ + PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig:${STAGING_HOST_DIR}/usr/share/pkgconfig:${STAGING_HOST_DIR}/usr/lib/${GNU_HOST_NAME}/pkgconfig' \ PKG_CONFIG_SYSROOT_DIR='${STAGING_HOST_DIR}' \ PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 diff --git a/mk/image.mk b/mk/image.mk index 72c7cdaa7..364b80db3 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -78,12 +78,6 @@ image-prepare-post: -rm -f ${TARGET_DIR}/bin/sh ln -sf ${BINSH} ${TARGET_DIR}/bin/sh -ifeq ($(ADK_RUNTIME_INIT_SYSTEMD),y) - ln -fs ../usr/${ADK_TARGET_LIBC_PATH}/systemd/systemd $(TARGET_DIR)/sbin/init - ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/halt - ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/poweroff - ln -fs ../usr/bin/systemctl $(TARGET_DIR)/sbin/reboot -endif test -z $(GIT) || \ $(GIT) log -1|head -1|sed -e 's#commit ##' \ > $(TARGET_DIR)/etc/.adkgithash @@ -104,7 +98,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 @@ -128,8 +122,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 @@ -151,17 +145,17 @@ 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) ${ADK_TOPDIR}/scripts/gen_initramfs_list.sh -u squash -g squash \ + PATH='${HOST_PATH}' $(BASH) ${SCRIPT_DIR}/gen_initramfs_list.sh -u squash -g squash \ ${TARGET_DIR}/ >$@ ( \ echo "nod /dev/console 0644 0 0 c 5 1"; \ @@ -169,10 +163,15 @@ ${STAGING_TARGET_DIR}/${INITRAMFS}_list: ${TARGET_DIR}/.adk 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/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"; \ @@ -184,6 +183,8 @@ ${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"; \ ) >>$@ ${FW_DIR}/${INITRAMFS}: ${STAGING_TARGET_DIR}/${INITRAMFS}_list @@ -192,7 +193,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} @@ -234,23 +235,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 @@ -312,8 +307,12 @@ ifeq ($(ADK_LINUX_KERNEL_COMPRESS_NONE),y) echo "CONFIG_RD_ZSTD=n" >> ${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) \ - -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE) +ifneq ($(ADK_TARGET_KERNEL_APPEND_DTB),) + ${KERNEL_MAKE} zImage dtbs $(MAKE_TRACE) + (cd $(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/boot && \ + cat dts/${ADK_TARGET_KERNEL_APPEND_DTB}.dtb >> zImage) +endif + ${KERNEL_MAKE} $(ADK_TARGET_KERNEL) $(MAKE_TRACE) @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL) ${FW_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package @@ -332,12 +331,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 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 @@ -347,23 +357,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) + 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)" \ - -o $(FW_DIR)/rootfs.ext $(MAKE_TRACE) + -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)" \ + -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.gzip 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 e19520ca8..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 @@ -72,23 +69,28 @@ $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-configure.. " echo "-${KERNEL_RELEASE}" >${LINUX_DIR}/localversion ifeq ($(ADK_TARGET_LINUX_KERNEL_USE_DEFCONFIG),y) - ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} $(ADK_TARGET_LINUX_KERNEL_DEFCONFIG) $(MAKE_TRACE) + ${KERNEL_MAKE} $(ADK_TARGET_LINUX_KERNEL_DEFCONFIG) $(MAKE_TRACE) else ifeq ($(ADK_TARGET_LINUX_KERNEL_USE_CUSTOMCONFIG),y) @if [ ! -f $(ADK_TOPDIR)/$(ADK_TARGET_LINUX_KERNEL_CUSTOMCONFIG_PATH) ];then \ echo "no kernel configuration found in $(ADK_TOPDIR)/$(ADK_TARGET_LINUX_KERNEL_CUSTOMCONFIG_PATH)"; \ exit 1; \ fi - ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG=$(ADK_TOPDIR)/$(ADK_TARGET_LINUX_KERNEL_CUSTOMCONFIG_PATH) allnoconfig $(MAKE_TRACE) + ${KERNEL_MAKE} KCONFIG_ALLCONFIG=$(ADK_TOPDIR)/$(ADK_TARGET_LINUX_KERNEL_CUSTOMCONFIG_PATH) allnoconfig $(MAKE_TRACE) else $(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} KCONFIG_ALLCONFIG=mini.config allnoconfig $(MAKE_TRACE) endif $(CMD_TRACE) " done" $(END_TRACE) $(LINUX_DIR)/$(KERNEL_FILE): $(LINUX_DIR)/.config $(START_TRACE) "target/$(ADK_TARGET_ARCH)-kernel-compile.. " - ${KERNEL_MAKE_ENV} $(MAKE) -C "${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} $(KERNEL_TARGET) $(MAKE_TRACE) +ifneq ($(ADK_TARGET_KERNEL_APPEND_DTB),) + ${KERNEL_MAKE} zImage dtbs $(MAKE_TRACE) + (cd $(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/boot && \ + cat dts/${ADK_TARGET_KERNEL_APPEND_DTB}.dtb >> zImage) +endif + ${KERNEL_MAKE} $(KERNEL_TARGET) $(MAKE_TRACE) $(CMD_TRACE) " done" $(END_TRACE) @@ -98,13 +100,11 @@ install: ifneq ($(KERNEL_MODULES_USED),) $(START_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=$(ADK_DEPMOD) \ + ${KERNEL_MAKE} DEPMOD=$(ADK_DEPMOD) \ INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules \ 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 \ @@ -115,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 dc176d291..475353d6f 100644 --- a/mk/kernel-vars.mk +++ b/mk/kernel-vars.mk @@ -1,7 +1,15 @@ # 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:= CC="$(TARGET_CC)" +ifeq ($(ADK_TARGET_BINFMT_FDPIC),y) +KERNEL_MAKE_OPTS:= CC="$(TARGET_CC) -mno-fdpic" +endif +ifeq ($(ADK_TARGET_ARCH_MICROBLAZE),y) +KERNEL_MAKE_OPTS:= CC="$(TARGET_CC) -fno-tree-loop-distribute-patterns" +endif + +KERNEL_MAKE_OPTS+= V=1 \ ARCH="$(ADK_TARGET_KARCH)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ HOSTCC="${HOST_CC}" \ @@ -9,13 +17,6 @@ KERNEL_MAKE_OPTS:= V=1 \ SHELL='${SHELL}' \ CONFIG_SHELL='${SHELL}' -ifeq ($(ADK_TARGET_BINFMT_FDPIC),y) -KERNEL_MAKE_OPTS+= CC="$(TARGET_CC) -mno-fdpic" -else -KERNEL_MAKE_OPTS+= CC="$(TARGET_CC)" -endif - - # regex for relocs needs pcre ifeq ($(OS_FOR_BUILD),Darwin) KERNEL_MAKE_OPTS+= HOSTLDFLAGS='-lpcreposix -Wl,-no_pie' @@ -24,14 +25,17 @@ 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' +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 -I${LINUX_DIR}/scripts/dtc/libfdt -DKBUILD_NO_NLS' else KERNEL_MAKE_OPTS+= HOSTCFLAGS='${HOST_CFLAGS}' endif -ifeq ($(ADK_TARGET_SYSTEM_BANANA_PRO)$(ADK_TARGET_SYSTEM_ORANGE_PI0),y) -KERNEL_MAKE_OPTS+= LOADADDR=0x40008000 +ifneq ($(ADK_TARGET_KERNEL_LOADADDR),) +KERNEL_MAKE_OPTS+= LOADADDR=$(ADK_TARGET_KERNEL_LOADADDR) endif KERNEL_MAKE_ENV:= PATH="${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:$$PATH" LINUX_BUILD_DIR:= $(BUILD_DIR)/$(ADK_TARGET_OS)-$(ADK_TARGET_ARCH) + +# wrapper to simplify calling make in kernel tree +KERNEL_MAKE:= env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) -j${ADK_MAKE_JOBS} diff --git a/mk/linux-ver.mk b/mk/linux-ver.mk index b4ed2bc1e..5e0fae716 100644 --- a/mk/linux-ver.mk +++ b/mk/linux-ver.mk @@ -15,29 +15,53 @@ 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_8),y) +KERNEL_FILE_VER:= 6.8.6 +KERNEL_RELEASE:= 1 +KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) +KERNEL_HASH:= 9e723232d603ab45ebf043c34714c48f277ab195c29abcb8472f2a4c3a5a1995 +endif +ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_6_6),y) +KERNEL_FILE_VER:= 6.6.28 +KERNEL_RELEASE:= 1 +KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) +KERNEL_HASH:= 818716ed13e7dba6aaeae24e3073993e260812ed128d10272e94b922ee6d3394 +endif +ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_6_1),y) +KERNEL_FILE_VER:= 6.1.82 +KERNEL_RELEASE:= 1 +KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) +KERNEL_HASH:= d150d2d9d416877668d8b56f75759f166168d192419eefaa942ed67225cbec06 +endif +ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_5_15),y) +KERNEL_FILE_VER:= 5.15.152 +KERNEL_RELEASE:= 1 +KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) +KERNEL_HASH:= f0805225f4a5b24d0bba9302c2c2f261c04f737ac5dd931da9b112e9f3e4a47e +endif ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_5_10),y) -KERNEL_FILE_VER:= 5.10.75 +KERNEL_FILE_VER:= 5.10.213 KERNEL_RELEASE:= 1 KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) -KERNEL_HASH:= 0a2b2f5fefb90773190aaef4726ac363e03992aedc424b0a57eca092d084304b +KERNEL_HASH:= 84cf30223239ec3333a5f7b2a7fba2042bba70d1582a139f7543956af871ad80 endif ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_5_4),y) -KERNEL_FILE_VER:= 5.4.155 +KERNEL_FILE_VER:= 5.4.272 KERNEL_RELEASE:= 1 KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) -KERNEL_HASH:= cc0c0f902748d251cb22d0e69e3b8d260c447eb0072ef853da15da6cce775038 +KERNEL_HASH:= 3599d5959a403e64be407d7f05e56cb270d6ddd154e89a596609919ab1e2e366 endif ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_19),y) -KERNEL_FILE_VER:= 4.19.213 +KERNEL_FILE_VER:= 4.19.310 KERNEL_RELEASE:= 1 KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) -KERNEL_HASH:= 38f28c1cd6db0b54ee37a14fd17db651fe68704d08f95e141b14d32b872f4e98 +KERNEL_HASH:= 95ec94c4ab8f46d8a54430893f9bd653c46b0f1587d216818aa8f52fd313de69 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 @@ -46,10 +70,10 @@ KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) KERNEL_HASH:= d44128674702529dd26214d6cd1c19542c37c5cc516f352bebbb78f0a9ed97c2 endif ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_4_4),y) -KERNEL_FILE_VER:= 4.4.289 +KERNEL_FILE_VER:= 4.4.302 KERNEL_RELEASE:= 1 KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) -KERNEL_HASH:= 33196aa3c0487d6d5be14c366fea1fb3d603d66efcf039746f77f3ef819be7bc +KERNEL_HASH:= 35017bb40b604e0b577fc2b87e727632b46608a2ba3a4f5858b9177f58f376b3 endif ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_3_16),y) KERNEL_FILE_VER:= 3.16.85 @@ -63,9 +87,3 @@ KERNEL_RELEASE:= 1 KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) KERNEL_HASH:= d7d0ee4588711d4f85ed67b65d447b4bbbe215e600a771fb87a62524b6341c43 endif -ifeq ($(ADK_TARGET_LINUX_KERNEL_VERSION_3_10_NDS32),y) -KERNEL_FILE_VER:= 3.10-nds32 -KERNEL_RELEASE:= 1 -KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE) -KERNEL_HASH:= 2f3e06924b850ca4d383ebb6baed154e1bb20440df6f38ca47c33950ec0e05c5 -endif diff --git a/mk/linux.mk b/mk/linux.mk index 37f7b8684..920c1749b 100644 --- a/mk/linux.mk +++ b/mk/linux.mk @@ -9,7 +9,8 @@ PKG_GIT:= $(ADK_TARGET_LINUX_KERNEL_GIT_TYPE) PKG_SITES:= $(ADK_TARGET_LINUX_KERNEL_GIT_REPO) 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 a3b36be0b..a8dc27f6a 100644 --- a/mk/mirrors.mk +++ b/mk/mirrors.mk @@ -55,6 +55,7 @@ MASTER_SITE_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/ \ diff --git a/mk/package.mk b/mk/package.mk index 96add5789..2a3e1f414 100644 --- a/mk/package.mk +++ b/mk/package.mk @@ -224,15 +224,6 @@ endif ifneq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y) -@rm -rf $${IDIR_$(1)}/etc/network endif -ifeq (${ADK_RUNTIME_INIT_SYSTEMD},y) - @for file in $$$$(ls ./files/*.service 2>/dev/null); do \ - fname=$$$$(echo $$$$file| sed -e "s#.*/##"); \ - mkdir -p $$(IDIR_$(1))/usr/lib/systemd/system && cp $$$$file $$(IDIR_$(1))/usr/lib/systemd/system/$$$$fname; \ - mkdir -p $$(IDIR_$(1))/etc/systemd/system/multi-user.target.wants; \ - ln -sf ../../../../usr/lib/systemd/system/$$$$fname \ - $$(IDIR_$(1))/etc/systemd/system/multi-user.target.wants; \ - done -endif endif @mkdir -p $${PACKAGE_DIR} '$${STAGING_PKG_DIR}/stamps' \ '$${STAGING_TARGET_DIR}/scripts' diff --git a/mk/perl.mk b/mk/perl.mk index c28a4aef3..faaf078a9 100644 --- a/mk/perl.mk +++ b/mk/perl.mk @@ -1,4 +1,4 @@ -PERL_VERSION=5.24.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 b46e381de..abc1e1604 100644 --- a/mk/pkg-bottom.mk +++ b/mk/pkg-bottom.mk @@ -53,10 +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)#" \ @@ -115,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 @@ -138,7 +140,7 @@ ${_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)' 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}),) @@ -212,7 +214,7 @@ endif ifeq (,$(filter nostaging,${PKG_OPTS})) @-cd ${WRKINST}; \ find usr ! -type d 2>/dev/null | \ - grep -E -v -e '^usr/share' -e '^usr/src' -e '^usr/doc' -e '^usr/local' -e '^usr/man' -e '^usr/info' \ + grep -E -v -e '^usr/src' -e '^usr/doc' -e '^usr/local' -e '^usr/man' -e '^usr/info' \ -e '^usr/lib/libc.so' -e '^usr/bin/[a-z0-9-]+-config*' -e '^usr/lib/.*\.la$$' \ -e '^/usr/lib/libpthread_nonshared.a' | \ tee '${STAGING_PKG_DIR}/${PKG_NAME}' | \ 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 e476b8938..1585833c6 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -142,7 +142,7 @@ TARGET_CFLAGS+= -mcpu=$(ADK_TARGET_GCC_CPU) TARGET_CXXFLAGS+= -mcpu=$(ADK_TARGET_GCC_CPU) endif -# for archiectures where gcc --with-arch matches -march= +# for architectures 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) @@ -171,9 +171,9 @@ endif endif ifeq ($(ADK_TARGET_BINFMT_FLAT),y) -TARGET_LDFLAGS+= -Wl,-elf2flt -TARGET_CFLAGS+= -Wl,-elf2flt -TARGET_CXXFLAGS+= -Wl,-elf2flt +TARGET_LDFLAGS+= -Wl,-elf2flt=-r +TARGET_CFLAGS+= -Wl,-elf2flt=-r +TARGET_CXXFLAGS+= -Wl,-elf2flt=-r endif ifeq ($(ADK_TARGET_BINFMT_FLAT_SEP_DATA),y) @@ -198,6 +198,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 +212,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 @@ -236,16 +249,14 @@ endif # special architecture optimization flags ifeq ($(ADK_TARGET_ARCH_XTENSA),y) -ifeq ($(ADK_TARGET_BIG_ENDIAN),) ifeq ($(ADK_TARGET_LIB_NEWLIB),) TARGET_CFLAGS+= -mlongcalls -mauto-litpools TARGET_CXXFLAGS+= -mlongcalls -mauto-litpools endif endif -endif ifeq ($(ADK_TARGET_ARCH_MICROBLAZE),y) -TARGET_CFLAGS+= -mxl-barrel-shift -TARGET_CXXFLAGS+= -mxl-barrel-shift +TARGET_CFLAGS+= -mxl-barrel-shift -fno-tree-loop-distribute-patterns +TARGET_CXXFLAGS+= -mxl-barrel-shift -fno-tree-loop-distribute-patterns endif endif @@ -282,8 +293,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) @@ -322,7 +333,6 @@ HOST_STATIC_LDFLAGS:= -Wl,-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} \ @@ -406,7 +416,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 |