From: Ulf Samuelsson $(PROJECT)
/" directory
Once a package has been unpacked, it is possible to manually update + configuration files. Buildroot can automatically save the configuration + of buildroot, linux, busybox, uclibc and u-boot in "local/$(PROJECT) by + using the command: +
+ ++ $ make saveconfig ++ +
Once a buildroot configuration has been created by saveconfig, + the default "$(TOPDIR)/.config" file can be overridden by
+ ++ $ make BOARD=<project> ++ +
Buildroot will then use "local/<project>/<project>.config" + instead of ".config".
+ +If you want to modify your board, you can copy the project configuration + file to ".config" by using the command:
+ ++ $ make BOARD=<project> getconfig ++ +
You can share your custom board support directory between several buildroot trees
+ by setting the environment variable BUILDROOT_LOCAL
to this directory,
+
If you intend to do an offline-build and just want to download all sources that you previously selected in "make menuconfig" then issue:
diff --git a/project/project.mk b/project/project.mk index 847cde99e2..62645850b7 100644 --- a/project/project.mk +++ b/project/project.mk @@ -1,5 +1,7 @@ +PROJECT_FILE:=$(LOCAL)/$(PROJECT)/$(PROJECT).config -.PHONY: target-host-info + +.PHONY: target-host-info saveconfig getconfig target-host-info: $(TARGET_DIR)/etc/issue $(TARGET_DIR)/etc/hostname @@ -12,3 +14,28 @@ $(TARGET_DIR)/etc/issue: .config $(TARGET_DIR)/etc/hostname: .config mkdir -p $(TARGET_DIR)/etc echo "$(TARGET_HOSTNAME)" > $(TARGET_DIR)/etc/hostname + +saveconfig: $(CONFIG)/conf + mkdir -p $(LOCAL)/$(PROJECT) + -cp .config $(PROJECT_FILE) + if [ -f $(LINUX26_DIR)/.config ] ; then \ + cp $(LINUX26_DIR)/.config $(LOCAL)/$(PROJECT)/linux-$(LINUX26_VERSION).config ; \ + $(SED) '/BR2_PACKAGE_LINUX_KCONFIG/d' $(PROJECT_FILE) ; \ + echo "BR2_PACKAGE_LINUX_KCONFIG:=$(LOCAL)/$(PROJECT)/linux-$(LINUX26_VERSION).config" >> $(PROJECT_FILE) ; \ + fi + if [ -f $(BUSYBOX_DIR)/.config ] ; then \ + cp $(BUSYBOX_DIR)/.config $(LOCAL)/$(PROJECT)/busybox-$(BUSYBOX_VERSION).config ; \ + $(SED) '/BR2_PACKAGE_BUSYBOX_CONFIG/d' $(PROJECT_FILE) ; \ + echo "BR2_PACKAGE_BUSYBOX_CONFIG:=$(LOCAL)/$(PROJECT)/busybox-$(BUSYBOX_VERSION).config" >> $(PROJECT_FILE) ; \ + fi + if [ -f $(UCLIBC_DIR)/.config ] ; then \ + cp $(UCLIBC_DIR)/.config $(LOCAL)/$(PROJECT)/uclibc-$(UCLIBC_VER).config ; \ + $(SED) '/BR2_UCLIBC_CONFIG/d' $(PROJECT_FILE) ; \ + echo "BR2_UCLIBC_CONFIG:=$(LOCAL)/$(PROJECT)/uclibc-$(UCLIBC_VER).config" >> $(PROJECT_FILE) ; \ + fi + if [ -f $(UBOOT_DIR)/include/configs/$(PROJECT).h ] ; then \ + cp $(UBOOT_DIR)/include/configs/$(PROJECT).h $(LOCAL)/$(PROJECT)/u-boot/$(PROJECT).h ; \ + fi + +getconfig: $(CONFIG)/conf + -cp $(LOCAL)/$(PROJECT)/$(PROJECT).config .config