Browse Source

enable variable kernel target name, qemu-mips targets use vmlinuz

Waldemar Brodkorb 10 năm trước cách đây
mục cha
commit
c55a696b9c

+ 1 - 0
Config.in

@@ -144,6 +144,7 @@ config ADK_KERNEL_COMP_XZ
 	select ADK_KERNEL_RD_XZ
 	select ADK_KERNEL_KERNEL_XZ
 	select ADK_KERNEL_INITRAMFS_COMPRESSION_XZ
+	depends on !ADK_LINUX_MIPS
 
 config ADK_KERNEL_COMP_LZMA
 	prompt "use LZMA compression"

+ 1 - 1
mk/image.mk

@@ -194,7 +194,7 @@ endif
 	$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
 		ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} oldconfig $(MAKE_TRACE) 
 	$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
-		ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} $(MAKE_TRACE)
+		ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE)
 
 imageclean:
 	rm -f $(BIN_DIR)/$(ADK_TARGET_SYSTEM)-* ${BUILD_DIR}/$(ADK_TARGET_SYSTEM)-*

+ 7 - 5
mk/kernel-build.mk

@@ -5,6 +5,8 @@ include $(TOPDIR)/rules.mk
 include $(TOPDIR)/mk/linux.mk
 include ${TOPDIR}/mk/kernel-vars.mk
 
+KERNEL_TARGET:=$(ADK_TARGET_KERNEL)
+
 $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION)/.patched:
 	$(TRACE) target/kernel-patch
 	$(PATCH) $(TOOLCHAIN_BUILD_DIR)/w-$(PKG_NAME)-$(PKG_VERSION)-$(PKG_RELEASE)/linux-$(KERNEL_VERSION) \
@@ -25,10 +27,10 @@ $(LINUX_DIR)/.config: $(LINUX_DIR)/.prepared $(BUILD_DIR)/.kernelconfig $(TOPDIR
 	${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} prepare scripts $(MAKE_TRACE)
 	touch -c $(LINUX_DIR)/.config
 
-$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config
-	-rm $(LINUX_DIR)/vmlinux 2>/dev/null
+$(LINUX_DIR)/$(KERNEL_TARGET): $(LINUX_DIR)/.config
+	-rm $(LINUX_DIR)/$(KERNEL_TARGET) 2>/dev/null
 	$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-compile
-	${KERNEL_MAKE_ENV} $(MAKE) V=1 ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(MAKE_TRACE)
+	${KERNEL_MAKE_ENV} $(MAKE) V=1 ${KERNEL_MAKE_OPTS} -j${ADK_MAKE_JOBS} LOCALVERSION="" $(KERNEL_TARGET) $(MAKE_TRACE)
 	$(TRACE) target/$(ADK_TARGET_ARCH)-kernel-modules-install
 	rm -rf $(LINUX_BUILD_DIR)/modules
 	${KERNEL_MAKE_ENV} $(MAKE) ${KERNEL_MAKE_OPTS} DEPMOD=true \
@@ -39,10 +41,10 @@ $(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config
 ifneq ($(strip $(TARGETS)),)
 	$(MAKE) $(TARGETS)
 endif
-	touch -c $(LINUX_DIR)/vmlinux
+	touch -c $(LINUX_DIR)/$(KERNEL_TARGET)
 
 prepare:
-compile: $(LINUX_DIR)/vmlinux
+compile: $(LINUX_DIR)/$(KERNEL_TARGET)
 install: compile
 ifneq ($(strip $(INSTALL_TARGETS)),)
 	$(TRACE) target/${ADK_TARGET_ARCH}-modules-install

+ 1 - 6
rules.mk

@@ -25,6 +25,7 @@ SET_DASHX:=		:
 endif
 
 # Strip off the annoying quoting
+ADK_TARGET_KERNEL:=	$(strip $(subst ",, $(ADK_TARGET_KERNEL)))
 ADK_TARGET_ARCH:=	$(strip $(subst ",, $(ADK_TARGET_ARCH)))
 ADK_TARGET_SYSTEM:=	$(strip $(subst ",, $(ADK_TARGET_SYSTEM)))
 ADK_TARGET_LIBC:=	$(strip $(subst ",, $(ADK_TARGET_LIBC)))
@@ -64,12 +65,6 @@ endif
 
 include $(TOPDIR)/mk/vars.mk
 
-CPPFLAGS_FOR_BUILD?=
-CFLAGS_FOR_BUILD?=	-O2 -Wall
-CXXFLAGS_FOR_BUILD?=	-O2 -Wall
-LDFLAGS_FOR_BUILD?=
-FLAGS_FOR_BUILD:=	${CPPFLAGS_FOR_BUILD} ${CFLAGS_FOR_BUILD} ${LDFLAGS_FOR_BUILD}
-
 ifneq (${show},)
 .DEFAULT_GOAL:=		show
 show:

+ 8 - 0
target/config/Config.in

@@ -1,6 +1,14 @@
 # This file is part of the OpenADK project. OpenADK is copyrighted
 # material, please see the LICENCE file in the top-level directory.
 
+config ADK_TARGET_KERNEL_VMLINUZ
+	boolean
+
+config ADK_TARGET_KERNEL
+	string
+	default "vmlinuz" if ADK_TARGET_KERNEL_VMLINUZ
+	default "vmlinux"
+
 config ADK_big
 	boolean
 

+ 1 - 7
target/mips/Makefile

@@ -7,13 +7,7 @@ include $(TOPDIR)/mk/modules.mk
 include $(TOPDIR)/mk/kernel-build.mk
 include $(TOPDIR)/mk/image.mk
 
-ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
-KERNEL:=$(LINUX_DIR)/vmlinuz
-else ifeq ($(ADK_TARGET_SYSTEM_FON_FON2100),y)
-KERNEL:=$(LINUX_DIR)/vmlinuz
-else
-KERNEL:=$(LINUX_DIR)/vmlinux
-endif
+KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL)
 
 OSTRIP:=-R .reginfo -R .notes -R .note -R .comment -R .mdebug -R .note.gnu.build-id
 

+ 1 - 0
target/mips/sys-available/fon-fon2100

@@ -6,6 +6,7 @@ config ADK_TARGET_SYSTEM_FON_FON2100
 	select ADK_KERNEL_ATHEROS_AR231X
 	select ADK_TARGET_WITH_MTD
 	select ADK_TARGET_WITH_AHB
+	select ADK_TARGET_KERNEL_VMLINUZ
 	help
 	  Support for FON's FON2100.
 

+ 1 - 0
target/mips/sys-available/lemote-yeelong

@@ -14,6 +14,7 @@ config ADK_TARGET_SYSTEM_LEMOTE_YEELONG
 	select ADK_TARGET_WITH_RTC
 	select ADK_TARGET_WITH_HDD
 	select ADK_TARGET_WITH_PCI
+	select ADK_TARGET_KERNEL_VMLINUZ
 	help
          System profile for Lemote Yeelong laptop.
 

+ 1 - 0
target/mips/sys-available/qemu-mips

@@ -11,6 +11,7 @@ config ADK_TARGET_SYSTEM_QEMU_MIPS
 	select ADK_TARGET_WITH_INPUT
 	select ADK_TARGET_WITH_PCI
 	select ADK_TARGET_WITH_HDD
+	select ADK_TARGET_KERNEL_VMLINUZ
 	help
 	 Qemu support for mips big endian architecture.
 

+ 1 - 0
target/mips/sys-available/qemu-mips64

@@ -14,6 +14,7 @@ config ADK_TARGET_SYSTEM_QEMU_MIPS64
 	select ADK_TARGET_WITH_INPUT
 	select ADK_TARGET_WITH_PCI
 	select ADK_TARGET_WITH_HDD
+	select ADK_TARGET_KERNEL_VMLINUZ
 	help
 	 Qemu support for mips64 big endian architecture.
 

+ 1 - 0
target/mips/sys-available/qemu-mips64el

@@ -15,6 +15,7 @@ config ADK_TARGET_SYSTEM_QEMU_MIPS64EL
 	select ADK_TARGET_WITH_INPUT
 	select ADK_TARGET_WITH_PCI
 	select ADK_TARGET_WITH_HDD
+	select ADK_TARGET_KERNEL_VMLINUZ
 	help
 	 Qemu support for mips64 little endian architecture.
 

+ 1 - 0
target/mips/sys-available/qemu-mipsel

@@ -11,6 +11,7 @@ config ADK_TARGET_SYSTEM_QEMU_MIPSEL
 	select ADK_TARGET_WITH_INPUT
 	select ADK_TARGET_WITH_PCI
 	select ADK_TARGET_WITH_HDD
+	select ADK_TARGET_KERNEL_VMLINUZ
 	help
 	 Qemu support for mips little endian architecture.