1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(ADK_TOPDIR
)/rules.mk
5 include ${ADK_TOPDIR}/mk
/kernel-ver.mk
6 include $(ADK_TOPDIR
)/mk
/linux.mk
7 include ${ADK_TOPDIR}/mk
/kernel-vars.mk
9 KERNEL_FILE
:=$(ADK_TARGET_KERNEL
)
10 KERNEL_TARGET
:=$(ADK_TARGET_KERNEL
)
11 ifeq ($(ADK_TARGET_KERNEL_LINUXBIN
),y
)
13 KERNEL_TARGET
:=$(ADK_TARGET_KERNEL
)
15 ifeq ($(ADK_TARGET_KERNEL_ZIMAGE
),y
)
17 KERNEL_TARGET
:=$(ADK_TARGET_KERNEL
)
19 ifeq ($(ADK_TARGET_KERNEL_BZIMAGE
),y
)
23 ifeq ($(ADK_TARGET_KERNEL_IMAGE
),y
)
25 KERNEL_TARGET
:=$(ADK_TARGET_KERNEL
)
28 ifeq ($(ADK_RUNTIME_DEV_UDEV
),y
)
29 ADK_DEPMOD
:=$(STAGING_HOST_DIR
)/usr
/bin
/depmod
34 $(LINUX_DIR
)/.prepared
: $(TOOLCHAIN_BUILD_DIR
)/w-
$(PKG_NAME
)-$(PKG_VERSION
)-$(PKG_RELEASE
)/linux-
$(KERNEL_VERSION
)/.patched
35 $(TRACE
) target
/kernel-prepare
36 ln
-sf
$(TOOLCHAIN_BUILD_DIR
)/w-
$(PKG_NAME
)-$(PKG_VERSION
)-$(PKG_RELEASE
)/linux-
$(KERNEL_VERSION
) $(LINUX_DIR
)
37 mkdir
-p
$(LINUX_BUILD_DIR
)/kmod-control
40 $(LINUX_DIR
)/.config
: $(LINUX_DIR
)/.prepared
$(BUILD_DIR
)/.kernelconfig
$(ADK_TOPDIR
)/mk
/modules.mk
41 $(TRACE
) target
/$(ADK_TARGET_ARCH
)-kernel-configure
42 -for f in
$(TARGETS
);do if
[ -f
$$f ];then
rm $$f;fi
;done
43 $(CP
) $(BUILD_DIR
)/.kernelconfig
$(LINUX_DIR
)/mini.config
44 ${KERNEL_MAKE_ENV} $(MAKE
) -C
"${LINUX_DIR}" ${KERNEL_MAKE_OPTS} KCONFIG_ALLCONFIG
=mini.config allnoconfig
$(MAKE_TRACE
)
45 touch
-c
$(LINUX_DIR
)/.config
47 $(LINUX_DIR
)/$(KERNEL_FILE
): $(LINUX_DIR
)/.config
48 $(TRACE
) target
/$(ADK_TARGET_ARCH
)-kernel-compile
49 ${KERNEL_MAKE_ENV} $(MAKE
) -C
"${LINUX_DIR}" ${KERNEL_MAKE_OPTS} -j
${ADK_MAKE_JOBS} LOCALVERSION
="" $(KERNEL_TARGET
) modules
$(MAKE_TRACE
)
50 touch
-c
$(LINUX_DIR
)/$(KERNEL_FILE
)
52 $(LINUX_BUILD_DIR
)/modules
: $(LINUX_DIR
)/$(KERNEL_FILE
)
53 $(TRACE
) target
/$(ADK_TARGET_ARCH
)-kernel-modules-install
54 rm -rf
$(LINUX_BUILD_DIR
)/modules
55 ${KERNEL_MAKE_ENV} $(MAKE
) -C
"${LINUX_DIR}" ${KERNEL_MAKE_OPTS} \
56 DEPMOD
=$(ADK_DEPMOD
) \
57 INSTALL_MOD_PATH
=$(LINUX_BUILD_DIR
)/modules \
59 modules_install
$(MAKE_TRACE
)
60 $(TRACE
) target
/$(ADK_TARGET_ARCH
)-create-packages
61 @mkdir
-p
${PACKAGE_DIR}
62 ifneq ($(strip $(TARGETS
)),)
66 $(INSTALL_TARGETS
): $(LINUX_BUILD_DIR
)/modules
69 compile
: $(LINUX_BUILD_DIR
)/modules
70 install: compile
$(INSTALL_TARGETS
)
71 ifneq ($(strip $(INSTALL_TARGETS
)),)
72 $(TRACE
) target
/${ADK_TARGET_ARCH}-modules-install
73 ifeq ($(ADK_TARGET_PACKAGE_IPKG
)$(ADK_TARGET_PACKAGE_OPKG
),y
)
74 $(PKG_INSTALL
) $(INSTALL_TARGETS
) $(MAKE_TRACE
)
76 $(foreach pkg
,$(INSTALL_TARGETS
),$(shell $(PKG_INSTALL
) $(pkg
)))
81 rm -rf
$(LINUX_BUILD_DIR
)