Makefile.in.advanced 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554
  1. ###############################################################################
  2. #
  3. # Linux kernel 2.6 target (Advanced configuration)
  4. #
  5. ###############################################################################
  6. ifneq ($(filter $(TARGETS),linux26),)
  7. # -----------------------------------------------------------------------------
  8. # Make sure LINUX_HEADERS_VERSION is defined
  9. ifeq ($(LINUX_HEADERS_VERSION),)
  10. # We did not have headers (this is for real???)
  11. LINUX_HEADERS_VERSION:=2.6.22.1
  12. endif
  13. # -----------------------------------------------------------------------------
  14. # STRATEGY FOR DOWNLOAD_LINUX26_VERSION
  15. # 1. Use definition from user Makefile
  16. # 2. Use definition from Kconfig
  17. # 3. Use Linux Headers version
  18. # 4. Use default (2.6.22.1)
  19. ifeq ($(DOWNLOAD_LINUX26_VERSION),)
  20. ifneq ($(BR2_DOWNLOAD_LINUX26_VERSION),)
  21. DOWNLOAD_LINUX26_VERSION:=$(strip $(subst ",,$(BR2_DOWNLOAD_LINUX26_VERSION)))
  22. #"))
  23. else
  24. DOWNLOAD_LINUX26_VERSION:=$(LINUX_HEADERS_VERSION)
  25. endif
  26. endif
  27. # -----------------------------------------------------------------------------
  28. # STRATEGY FOR LINUX26_VERSION
  29. # 1. Use definition from user Makefile
  30. # 2. Use definition from Kconfig
  31. # 3. Use Linux Headers version
  32. # 4. Use default (2.6.22.1)
  33. ifeq ($(LINUX26_VERSION),)
  34. ifneq ($(BR2_LINUX26_VERSION),)
  35. LINUX26_VERSION:=$(strip $(subst ",,$(BR2_LINUX26_VERSION)))
  36. #"))
  37. else
  38. LINUX26_VERSION:=$(LINUX_HEADERS_VERSION)
  39. endif
  40. endif
  41. # Ask the kernel what version number it will use when installing modules
  42. LINUX26_VERSION_PROBED = `$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) -s kernelrelease`
  43. ifeq ($(BOARD_PATH),)
  44. BOARD_PATH:=$(strip $(subst ",,$(BR2_BOARD_PATH)))
  45. #"))
  46. endif
  47. # Version of Linux AFTER patches
  48. LINUX26_DIR:=$(PROJECT_BUILD_DIR)/linux-$(LINUX26_VERSION)
  49. # for packages that need it
  50. LINUX_VERSION:=$(LINUX26_VERSION)
  51. LINUX_DIR:=$(LINUX26_DIR)
  52. # -----------------------------------------------------------------------------
  53. # Define source name and sites
  54. LINUX26_SOURCE:=linux-$(DOWNLOAD_LINUX26_VERSION).tar.bz2
  55. LINUX26_SITE:=$(strip $(subst ",,$(BR2_KERNEL_SITE)))
  56. #"))
  57. LINUX26_PATCH_SOURCE:=$(strip $(subst ",,$(BR2_KERNEL_PATCH)))
  58. #"))
  59. LINUX26_PATCH_SITE:=$(strip $(subst ",,$(BR2_KERNEL_PATCH_SITE)))
  60. #"))
  61. LINUX26_BSP_PATCH:=$(strip $(subst ",,$(BR2_LINUX_BSP_PATCH)))
  62. #"))
  63. ifneq ($(LINUX26_BSP_PATCH),)
  64. LINUX_HEADERS_DEPENDS:= $(DL_DIR)/$(LINUX26_BSP_PATCH)
  65. endif
  66. ifneq ($(LINUX26_PATCH_SOURCE),)
  67. LINUX_HEADERS_DEPENDS+=$(DL_DIR)/$(LINUX26_PATCH_SOURCE)
  68. endif
  69. # ------------------------------------
  70. # kernel patches provided by buildroot
  71. ifeq ($(strip $(LINUX26_PATCH_DIR)),)
  72. LINUX26_PATCH_DIR:=$(BOARD_PATH)/kernel-patches/
  73. endif
  74. # kernel architecture patches provided by buildroot
  75. KERNEL_ARCH_PATCH_DIR:=$(strip $(subst ",,$(BR2_KERNEL_ARCH_PATCH_DIR)))
  76. #"))
  77. # -----------------------------------------------------------------------------
  78. # Linux kernel configuration file
  79. # This is used if BR2_PACKAGE_LINUX_USE_KCONFIG is set
  80. # Has to be set by the target/device
  81. # If it is not set by the target/device, then pick the one from .config
  82. ifndef LINUX26_KCONFIG
  83. ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG))),)
  84. LINUX26_KCONFIG:=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_KCONFIG)))
  85. #"))
  86. #"))
  87. else
  88. ifeq ($(BR2_i386),y)
  89. LINUX26_KCONFIG:=$(BOARD_PATH)/linux26.config
  90. else
  91. LINUX26_KCONFIG:=$(BOARD_PATH)/linux-$(LINUX26_VERSION).config
  92. endif
  93. endif
  94. endif
  95. KERNEL_CONFIG_METHOD:=$(strip $(subst ",,$(BR2_KERNEL_CONFIG_METHOD)))
  96. #"))
  97. ifeq ($(KERNEL_CONFIG_METHOD),)
  98. KERNEL_CONFIG_METHOD:=menuconfig
  99. endif
  100. # -----------------------------------------------------------------------------
  101. ifndef LINUX26_FORMAT
  102. ifneq ($(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT))),)
  103. #"))
  104. LINUX26_FORMAT:=$(strip $(subst ",,$(BR2_PACKAGE_LINUX_FORMAT)))
  105. #"))
  106. else
  107. LINUX26_FORMAT:=zImage
  108. endif
  109. endif
  110. # -----------------------------------------------------------------------------
  111. # Has to be set by the target/device
  112. LINUX26_MKIMAGE_DIR:=
  113. LINUX26_MKIMAGE_DEP:=
  114. # --------------
  115. # VMLINUX
  116. ifeq ($(LINUX26_FORMAT),vmlinux)
  117. ifeq ($(LINUX26_BINLOC),)
  118. LINUX26_BINLOC:=$(LINUX26_FORMAT)
  119. endif
  120. endif
  121. # --------------
  122. # UIMAGE
  123. ifeq ($(LINUX26_FORMAT),uImage)
  124. LINUX26_MKIMAGE_DIR:=$(PROJECT_BUILD_DIR)/u-boot-tools
  125. LINUX26_MKIMAGE_DEP:=$(LINUX26_MKIMAGE_DIR)/mkimage
  126. ifeq ($(LINUX26_BINLOC),)
  127. LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT)
  128. endif
  129. endif
  130. # --------------
  131. # ZIMAGE
  132. ifeq ($(LINUX26_FORMAT),zImage)
  133. ifeq ($(LINUX26_BINLOC),)
  134. LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/$(LINUX26_FORMAT)
  135. endif
  136. endif
  137. # --------------
  138. # BZIMAGE
  139. ifeq ($(LINUX26_FORMAT),bzImage)
  140. ifeq ($(LINUX26_BINLOC),)
  141. LINUX26_BINLOC:=arch/$(KERNEL_ARCH)/boot/bzImage
  142. endif
  143. endif
  144. ROOTFS_STRIPPED_SUFFIX=$(strip $(subst ",,$(ROOTFS_SUFFIX)))
  145. #"))
  146. # -----------------------------------------------------------------------------
  147. # File name for the Linux kernel binary
  148. LINUX26_KERNEL_NAME:=$(LINUX26_FORMAT)$(ROOTFS_STRIPPED_SUFFIX)
  149. ifeq ($(BOARD_NAME),)
  150. BOARD_NAME=$(ARCH)
  151. endif
  152. ifndef LINUX26_KERNEL
  153. LINUX26_KERNEL:=$(BINARIES_DIR)/$(LINUX26_KERNEL_NAME)
  154. endif
  155. # for packages that need it
  156. LINUX_KERNEL:=$(LINUX26_KERNEL)
  157. # -----------------------------------------------------------------------------
  158. LINUX26_BZCAT:=$(BZCAT)
  159. LINUX26_MAKE_FLAGS = HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
  160. ARCH=$(KERNEL_ARCH) \
  161. INSTALL_MOD_PATH=$(TARGET_DIR) \
  162. CROSS_COMPILE=$(KERNEL_CROSS) \
  163. LDFLAGS="$(TARGET_LDFLAGS)" \
  164. LZMA="$(LZMA)" \
  165. PATH=$(LINUX26_MKIMAGE_DIR):$(PATH)
  166. # =============================================================================
  167. # ifneq ($(strip $(LINUX26_VERSION)),$(strip $(LINUX_HEADERS_VERSION)))
  168. ifneq ($(strip $(LINUX26_SOURCE)),$(strip $(LINUX_HEADERS_SOURCE)))
  169. $(DL_DIR)/$(LINUX26_SOURCE):
  170. $(call DOWNLOAD,$(LINUX26_SITE),$(LINUX26_SOURCE))
  171. endif # ($(LINUX26_VERSION),$(LINUX_HEADERS_VERSION))
  172. ifneq ($(strip $(LINUX26_PATCH_SOURCE)),)
  173. $(DL_DIR)/$(LINUX26_PATCH_SOURCE):
  174. $(call DOWNLOAD,$(LINUX26_PATCH_SITE),$(LINUX26_PATCH_SOURCE))
  175. endif
  176. $(LINUX26_DIR)/.unpacked: $(DL_DIR)/$(LINUX26_SOURCE)
  177. rm -rf $(LINUX26_DIR)
  178. @echo "*** Unpacking kernel source"
  179. $(LINUX26_BZCAT) $(DL_DIR)/$(LINUX26_SOURCE) | tar -C $(PROJECT_BUILD_DIR) $(TAR_OPTIONS) -
  180. ifneq ($(DOWNLOAD_LINUX26_VERSION),$(LINUX26_VERSION))
  181. # Rename the dir from the downloaded version to the AFTER patch version
  182. mv -f $(PROJECT_BUILD_DIR)/linux-$(DOWNLOAD_LINUX26_VERSION) $(LINUX26_DIR)
  183. echo $(LINUX26_VERSION_PROBED) > $(PROJECT_BUILD_DIR)/.linux-version
  184. endif
  185. touch $@
  186. # -----------------------------------------------------------------------------
  187. LINUX26_TARGETS+=$(LINUX26_KERNEL) $(PROJECT_BUILD_DIR)/.linux-version
  188. ifeq ($(BR2_LINUX_COPYTO_ROOTFS),y)
  189. LINUX26_TARGETS+=$(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME)
  190. endif
  191. ifeq ($(BR2_LINUX_COPYTO_TFTPBOOT),y)
  192. LINUX26_TARGETS+=/tftpboot/$(LINUX26_KERNEL_NAME)
  193. endif
  194. ifneq ($(strip $(subst ",,$(BR2_LINUX_COPYTO))),)
  195. LINUX_COPYTO:=$(strip $(subst ",,$(BR2_LINUX_COPYTO)))
  196. #"))
  197. #"))
  198. LINUX26_TARGETS+=$(LINUX_COPYTO)/$(LINUX26_KERNEL_NAME)
  199. endif
  200. ifneq ($(BR2_LINUX_COPY_CONFIGURATION),)
  201. LINUX26_TARGETS+=$(TARGET_DIR)/boot/buildroot.config
  202. LINUX26_TARGETS+=$(TARGET_DIR)/boot/linux-$(LINUX26_VERSION).config
  203. LINUX26_TARGETS+=$(TARGET_DIR)/boot/uclibc.config
  204. ifeq ($(BR2_PACKAGE_BUSYBOX),y)
  205. LINUX26_TARGETS+=$(TARGET_DIR)/boot/busybox.config
  206. endif
  207. endif
  208. # -----------------------------------------------------------------------------
  209. $(LINUX26_DIR)/.patched: $(LINUX26_DIR)/.unpacked $(LINUX_HEADERS_DEPENDS)
  210. ifneq ($(LINUX26_PATCH_SOURCE),)
  211. toolchain/patch-kernel.sh $(LINUX26_DIR) $(DL_DIR) $(LINUX26_PATCH_SOURCE)
  212. endif
  213. ifneq ($(LINUX26_BSP_PATCH),)
  214. toolchain/patch-kernel.sh $(LINUX26_DIR) $(DL_DIR) $(LINUX26_BSP_PATCH)
  215. endif
  216. toolchain/patch-kernel.sh $(LINUX26_DIR) toolchain/kernel-headers \
  217. linux-$(LINUX26_VERSION)-\*.patch{,.gz,.bz2}
  218. ifeq ($(BR2_KERNEL_HEADERS_RT),y)
  219. toolchain/patch-kernel.sh $(LINUX26_DIR) $(DL_DIR) $(LINUX_RT_SOURCE)
  220. endif
  221. ifneq ($(KERNEL_HEADERS_PATCH_DIR),)
  222. toolchain/patch-kernel.sh $(LINUX26_DIR) $(KERNEL_HEADERS_PATCH_DIR) \
  223. linux-$(LINUX26_VERSION)\*.patch{,.gz,.bz2}
  224. endif
  225. ifeq ($(BR2_PACKAGE_OPENSWAN),y)
  226. toolchain/patch-kernel.sh $(LINUX26_DIR) package/openswan \
  227. linux-$(LINUX26_VERSION)\*.patch{,.gz,.bz2}
  228. endif
  229. touch $@
  230. $(LINUX26_DIR)/.patched.arch: $(LINUX26_DIR)/.patched
  231. ifneq ($(BR2_KERNEL_ARCH_PATCH_DIR),)
  232. if [ -d $(KERNEL_ARCH_PATCH_DIR) ] ; then \
  233. toolchain/patch-kernel.sh $(LINUX26_DIR) $(KERNEL_ARCH_PATCH_DIR) \
  234. linux-\*.patch{,.gz,.bz2} ; \
  235. fi
  236. endif
  237. touch $@
  238. $(LINUX26_DIR)/.patched.board: $(LINUX26_DIR)/.patched.arch $(KERNEL_COND_PATCHES)
  239. ifneq ($(LINUX26_PATCH_DIR),)
  240. if [ -d $(LINUX26_PATCH_DIR) ] ; then \
  241. toolchain/patch-kernel.sh $(LINUX26_DIR) $(LINUX26_PATCH_DIR) \
  242. linux-$(LINUX26_VERSION)\*.patch{,.gz,.bz2} ; \
  243. fi
  244. endif
  245. touch $@
  246. # =============================================================================
  247. linux_patch: $(LINUX26_DIR)/.patched.board
  248. KERNEL_EXTRA_VERSION:=$(strip $(subst ",,$(BR2_EXTRA_VERSION)))
  249. #"))
  250. lxcf: $(LINUX26_DIR)/.config
  251. $(LINUX26_DIR)/.config: $(LINUX26_DIR)/.patched.board
  252. ifeq ($(BR2_PACKAGE_LINUX_USE_DEFCONFIG),y)
  253. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(BOARD_NAME)_defconfig
  254. endif
  255. ifeq ($(BR2_PACKAGE_LINUX_USE_XCONFIG),y)
  256. ifeq ($(KERNEL_CONFIG_METHOD),xconfig)
  257. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig || \
  258. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig \
  259. else
  260. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig
  261. endif
  262. endif
  263. ifeq ($(BR2_PACKAGE_LINUX_USE_KCONFIG),y)
  264. # Try user defined config
  265. if [ -f "$(LINUX26_KCONFIG)" ] ; then \
  266. cp -dpf $(LINUX26_KCONFIG) $@ ; \
  267. fi
  268. # Try to get a config for this linux version in the board directory
  269. echo "LINUX26_VERSION = $(LINUX26_VERSION)"
  270. if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
  271. if [ -f "$(BOARD_PATH)/$(BOARD_NAME)-linux-$(LINUX26_VERSION).config" ] ; then \
  272. cp -dpf $(BOARD_PATH)/$(BOARD_NAME)-linux-$(LINUX26_VERSION).config $@ ; \
  273. fi ; \
  274. fi
  275. # Try to get a config for latest linux version in the board directory
  276. if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
  277. scripts/get_linux_config.sh $(BOARD_PATH) $(LINUX26_DIR) ; \
  278. fi
  279. # Use a board config defined in the linux source.
  280. if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
  281. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(BOARD_NAME)_defconfig || \
  282. echo "$(BOARD_NAME)_defconfig failed..." ; \
  283. fi
  284. # let the user create his/her own config
  285. if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
  286. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(KERNEL_CONFIG_METHOD) ; \
  287. fi
  288. endif
  289. ifneq ($(strip $(subst ",,$(BR2_EXTRA_VERSION))),)
  290. $(SED) 's,^EXTRAVERSION.*,EXTRAVERSION = $(KERNEL_EXTRA_VERSION),g' $(LINUX26_DIR)/Makefile
  291. endif
  292. # $(strip $(subst ",, - ))
  293. # -----------------------------------------------------------------------------
  294. $(LINUX26_DIR)/.configured: $(LINUX26_DIR)/.config
  295. $(SED) '/CONFIG_AEABI=y/d' $(LINUX26_DIR)/.config
  296. ifeq ($(BR2_ARM_EABI),y)
  297. echo "CONFIG_AEABI=y" >> $(LINUX26_DIR)/.config
  298. $(SED) '/CONFIG_OABI_COMPAT/d' $(LINUX26_DIR)/.config
  299. echo "# CONFIG_OABI_COMPAT is not set" >> $(LINUX26_DIR)/.config
  300. else
  301. echo "# CONFIG_AEABI is not set" >> $(LINUX26_DIR)/.config
  302. endif
  303. $(SED) '/CONFIG_IPV6=y/d' $(LINUX26_DIR)/.config
  304. ifeq ($(BR2_INET_IPV6),y)
  305. echo "CONFIG_IPV6=y" >> $(LINUX26_DIR)/.config
  306. else
  307. echo "# CONFIG_IPV6 is not set" >> $(LINUX26_DIR)/.config
  308. endif
  309. $(SED) '/CONFIG_INITRAMFS_SOURCE/d' $(LINUX26_DIR)/.config
  310. $(SED) '/INITRAMFS_ROOT_.ID/d' $(LINUX26_DIR)/.config
  311. ifeq ($(BR2_TARGET_ROOTFS_INITRAMFS),y)
  312. echo "CONFIG_INITRAMFS_SOURCE=\"$(INITRAMFS_TARGET)\"" >> \
  313. $(LINUX26_DIR)/.config
  314. echo "CONFIG_INITRAMFS_ROOT_UID=0" >> $(LINUX26_DIR)/.config
  315. echo "CONFIG_INITRAMFS_ROOT_GID=0" >> $(LINUX26_DIR)/.config
  316. else
  317. echo "CONFIG_INITRAMFS_SOURCE=\"\"" >> $(LINUX26_DIR)/.config
  318. endif
  319. ifeq ($(BR2_PACKAGE_BUSYBOX_INITRAMFS),y)
  320. # precedence for a small initramfs
  321. $(SED) '/CONFIG_INITRAMFS_SOURCE/d' $(LINUX26_DIR)/.config
  322. $(SED) '/INITRAMFS_ROOT_.ID/d' $(LINUX26_DIR)/.config
  323. echo "CONFIG_INITRAMFS_SOURCE=\"$(BB_INITRAMFS_TARGET)\"" >> \
  324. $(LINUX26_DIR)/.config
  325. echo "CONFIG_INITRAMFS_ROOT_UID=0" >> $(LINUX26_DIR)/.config
  326. echo "CONFIG_INITRAMFS_ROOT_GID=0" >> $(LINUX26_DIR)/.config
  327. endif
  328. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) oldconfig
  329. touch $@
  330. # -----------------------------------------------------------------------------
  331. $(LINUX26_DIR)/.depend_done: $(LINUX26_DIR)/.configured $(LINUX26_MKIMAGE_DEP)
  332. mkdir -p $(TARGET_DIR)/boot
  333. -mv $(LINUX26_DIR)/localversion* $(TARGET_DIR)/boot
  334. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) prepare
  335. touch $@
  336. $(LINUX26_DIR)/$(LINUX26_BINLOC): $(INITRAMFS_TARGET) $(BB_INITRAMFS_TARGET) \
  337. $(LINUX26_DIR)/.depend_done
  338. $(MAKE) $(LINUX26_MAKE_FLAGS) \
  339. -C $(LINUX26_DIR) $(LINUX26_FORMAT)
  340. touch $@
  341. $(LINUX26_KERNEL): $(LINUX26_DIR)/$(LINUX26_BINLOC)
  342. cp -pf $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_KERNEL)
  343. touch $@
  344. # -----------------------------------------------------------------------------
  345. $(PROJECT_BUILD_DIR)/autotools-stamps/linux_modules_target_installed: $(LINUX26_DIR)/.depend_done
  346. rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION_PROBED)
  347. rm -f $(TARGET_DIR)/sbin/cardmgr
  348. # Make Linux depend on modules only if enabled in the .config.
  349. @if [ $(shell grep -c "CONFIG_MODULES=y" $(LINUX26_DIR)/.config) != 0 ] ; then \
  350. echo "*** Installing Linux kernel modules" ; \
  351. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) modules; \
  352. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) \
  353. DEPMOD=$(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 \
  354. INSTALL_MOD_PATH=$(TARGET_DIR) modules_install; \
  355. rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION_PROBED)/build; \
  356. rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION_PROBED)/source; \
  357. $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 -b $(TARGET_DIR) $(LINUX26_VERSION_PROBED); \
  358. else \
  359. echo "*** Skipping installing modules since it is not enabled" ; \
  360. fi
  361. touch $@
  362. linux26-menuconfig: $(LINUX26_DIR)/.patched host-sed
  363. [ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
  364. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig
  365. -[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
  366. linux26-xconfig: $(LINUX26_DIR)/.patched host-sed
  367. [ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
  368. $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig
  369. -[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
  370. $(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL)
  371. mkdir -p $(TARGET_DIR)/boot
  372. cp -dpf $(LINUX26_KERNEL) $(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME)
  373. $(TARGET_DIR)/boot/buildroot.config: .config
  374. mkdir -p $(TARGET_DIR)/boot
  375. cp -dpf .config $(TARGET_DIR)/boot/buildroot.config
  376. $(TARGET_DIR)/boot/linux-$(LINUX26_VERSION).config: $(LINUX26_DIR)/.config
  377. mkdir -p $(TARGET_DIR)/boot
  378. cp -dpf $(LINUX26_DIR)/.config $(TARGET_DIR)/boot/linux-$(LINUX26_VERSION).config
  379. $(TARGET_DIR)/boot/uclibc.config: $(UCLIBC_DIR)/.config
  380. mkdir -p $(TARGET_DIR)/boot
  381. cp -dpf $(UCLIBC_DIR)/.config $(TARGET_DIR)/boot/uclibc.config
  382. $(TARGET_DIR)/boot/busybox.config: $(BUSYBOX_DIR)/.config
  383. mkdir -p $(TARGET_DIR)/boot
  384. cp -dpf $(BUSYBOX_DIR)/.config $(TARGET_DIR)/boot/busybox.config
  385. /tftpboot/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL)
  386. -mkdir -p /tftpboot
  387. -cp -dpf $(LINUX26_KERNEL) $@
  388. -touch $@
  389. ifneq ($(LINUX_COPYTO),/tftpboot)
  390. $(LINUX_COPYTO)/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL)
  391. mkdir -p $(LINUX_COPYTO)
  392. cp -dpf $(LINUX26_KERNEL) $@
  393. touch $@
  394. endif
  395. $(PROJECT_BUILD_DIR)/.linux-version: $(LINUX26_KERNEL)
  396. echo $(LINUX26_VERSION_PROBED) > $(PROJECT_BUILD_DIR)/.linux-version
  397. echo LINUX_MODULES=`$(LINUX26_VERSION_PROBED)`
  398. $(LINUX26_MKIMAGE_DIR)/mkimage: $(U_BOOT_TOOLS)
  399. mkdir -p $(LINUX26_MKIMAGE_DIR)
  400. cp $(MKIMAGE) $(LINUX26_MKIMAGE_DIR)
  401. linux26: $(LINUX26_TARGETS)
  402. linux26-version: $(PROJECT_BUILD_DIR)/.linux-version
  403. linux26-modules: cross-depmod26 $(PROJECT_BUILD_DIR)/autotools-stamps/linux_modules_target_installed
  404. linux26-source: $(DL_DIR)/$(LINUX26_SOURCE)
  405. linux26-unpacked: $(LINUX26_DIR)/.patched
  406. linux26-config: host-sed $(LINUX26_DIR)/.configured
  407. linux26-update:
  408. cp -dpf $(LINUX26_DIR)/.config $(LINUX26_KCONFIG)
  409. # force rebuild
  410. linux26-force:
  411. touch $(LINUX26_DIR)/.configured
  412. # This has been renamed so we do _NOT_ by default run this on 'make clean'
  413. linux26clean:
  414. rm -f $(PROJECT_BUILD_DIR)/autotools-stamps/linux_modules_target_installed
  415. rm -f $(LINUX26_KERNEL) $(LINUX26_DIR)/.configured
  416. -$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX26_DIR) clean
  417. linux26-dirclean:
  418. rm -rf $(LINUX26_DIR)
  419. linux26-status: linux-status
  420. # @echo =$()
  421. linux-status:
  422. @echo BOARD_NAME=$(BOARD_NAME)
  423. @echo BR2_BOARD_PATH=$(BR2_BOARD_PATH)
  424. @echo BR2_CUSTOM_LINUX26_PATCH=$(BR2_CUSTOM_LINUX26_PATCH)
  425. @echo BR2_CUSTOM_LINUX26_PATCH_SITE=$(BR2_CUSTOM_LINUX26_PATCH_SITE)
  426. @echo BR2_DOWNLOAD_LINUX26_VERSION=$(BR2_DOWNLOAD_LINUX26_VERSION)
  427. @echo BR2_LINUX_BSP_PATCH=$(BR2_LINUX_BSP_PATCH)
  428. @echo BR2_LINUX_COPYTO=$(BR2_LINUX_COPYTO)
  429. @echo BR2_LINUX_COPYTO_ROOTFS=$(BR2_LINUX_COPYTO_ROOTFS)
  430. @echo BR2_LINUX_COPYTO_TFTPBOOT=$(BR2_LINUX_COPYTO_TFTPBOOT)
  431. @echo BR2_LINUX_VERSION=$(BR2_LINUX_VERSION)
  432. @echo BR2_LINUX26_CUSTOM=$(BR2_LINUX26_CUSTOM)
  433. @echo BR2_LINUX26_VERSION=$(BR2_LINUX26_VERSION)
  434. @echo BR2_KERNEL_ADD_LATEST_MM_PATCH=$(BR2_KERNEL_ADD_LATEST_MM_PATCH)
  435. @echo BR2_KERNEL_ADD_LATEST_RC_PATCH=$(BR2_KERNEL_ADD_LATEST_RC_PATCH)
  436. @echo BR2_KERNEL_ADD_LATEST_SNAPSHOT=$(BR2_KERNEL_ADD_LATEST_SNAPSHOT)
  437. @echo BR2_KERNEL_ADD_MINORPATCH=$(BR2_KERNEL_ADD_MINORPATCH)
  438. @echo BR2_KERNEL_ARCH_PATCH_DIR=$(BR2_KERNEL_ARCH_PATCH_DIR)
  439. @echo BR2_KERNEL_GIT_LEVEL=$(BR2_KERNEL_GIT_LEVEL)
  440. @echo BR2_KERNEL_MINORLEVEL=$(BR2_KERNEL_MINORLEVEL)
  441. @echo BR2_KERNEL_MM_LEVEL=$(BR2_KERNEL_MM_LEVEL)
  442. @echo BR2_KERNEL_PATCH=$(BR2_KERNEL_PATCH)
  443. @echo BR2_KERNEL_PATCH_SITE=$(BR2_KERNEL_PATCH_SITE)
  444. @echo BR2_KERNEL_RC_LEVEL=$(BR2_KERNEL_RC_LEVEL)
  445. @echo BR2_KERNEL_SITE=$(BR2_KERNEL_SITE)
  446. @echo BR2_PACKAGE_LINUX_KCONFIG=$(BR2_PACKAGE_LINUX_KCONFIG)
  447. @echo BR2_PACKAGE_LINUX_USE_DEFCONFIG=$(BR2_PACKAGE_LINUX_USE_DEFCONFIG)
  448. @echo BR2_PACKAGE_LINUX_USE_KCONFIG=$(BR2_PACKAGE_LINUX_USE_KCONFIG)
  449. @echo BR2_PACKAGE_LINUX_USE_XCONFIG=$(BR2_PACKAGE_LINUX_USE_XCONFIG)
  450. @echo DOWNLOAD_LINUX26_VERSION=$(DOWNLOAD_LINUX26_VERSION)
  451. @echo KERNEL_ARCH_PATCH_DIR=$(KERNEL_ARCH_PATCH_DIR)
  452. @echo KERNEL_COND_PATCHES=$(KERNEL_COND_PATCHES)
  453. @echo KERNEL_EXT=$(KERNEL_EXT)
  454. @echo KERNEL_EXTRA_VERSION=$(KERNEL_EXTRA_VERSION)
  455. @echo KERNEL_HEADERS_PATCH_DIR=$(KERNEL_HEADERS_PATCH_DIR)
  456. @echo LINUX_COPYTO=$(LINUX_COPYTO)
  457. @echo LINUX_HEADERS_VERSION=$(LINUX_HEADERS_VERSION)
  458. @echo LINUX26_BINLOC=$(LINUX26_BINLOC)
  459. @echo LINUX26_DIR=$(LINUX26_DIR)
  460. @echo LINUX26_FORMAT=$(LINUX26_FORMAT)
  461. @echo LINUX26_HEADERS_PATCH_DIR=$(LINUX26_HEADERS_PATCH_DIR)
  462. @echo LINUX26_KERNEL=$(LINUX26_KERNEL)
  463. @echo LINUX26_KERNEL_NAME=$(LINUX26_KERNEL_NAME)
  464. @echo LINUX26_LATEST_GIT_PATCH=$(LINUX26_LATEST_GIT_PATCH)
  465. @echo LINUX26_LATEST_MM_PATCH=$(LINUX26_LATEST_MM_PATCH)
  466. @echo LINUX26_LATEST_RC_PATCH=$(LINUX26_LATEST_RC_PATCH)
  467. @echo LINUX26_PATCH_DIR=$(LINUX26_PATCH_DIR)
  468. @echo LINUX26_SOURCE=$(LINUX26_SOURCE)
  469. @echo LINUX26_TARGETS=$(LINUX26_TARGETS)
  470. @echo LINUX26_VERSION=$(LINUX26_VERSION)
  471. @echo LINUX26_MAKE_FLAGS=$(LINUX26_MAKE_FLAGS)
  472. @echo PROJECT_BUILD_DIR=$(PROJECT_BUILD_DIR)
  473. @echo TARGETS=$(TARGETS)
  474. endif