|
@@ -64,8 +64,11 @@ noconfig_targets:= menuconfig \
|
|
|
defconfig \
|
|
|
tags
|
|
|
|
|
|
-POSTCONFIG= -@ \
|
|
|
+POSTCONFIG= -@\
|
|
|
+ if [ -f .adkinit ];then rm .adkinit;\
|
|
|
+ else \
|
|
|
if [ -f .config.old ];then \
|
|
|
+ $(TOPDIR)/bin/tools/pkgrebuild;\
|
|
|
rebuild=0; \
|
|
|
if [ "$$(grep ^BUSYBOX .config|md5sum)" != "$$(grep ^BUSYBOX .config.old|md5sum)" ];then \
|
|
|
touch .rebuild.busybox;\
|
|
@@ -76,8 +79,9 @@ POSTCONFIG= -@ \
|
|
|
rebuild=1;\
|
|
|
fi; \
|
|
|
if [ $$rebuild -eq 1 ];then \
|
|
|
- cp .config .config.old; \
|
|
|
+ cp .config .config.old;\
|
|
|
fi; \
|
|
|
+ fi; \
|
|
|
fi
|
|
|
|
|
|
# Pull in the user's configuration file
|
|
@@ -87,17 +91,17 @@ endif
|
|
|
|
|
|
ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
-include ${TOPDIR}/mk/split-cfg.mk
|
|
|
|
|
|
all: world
|
|
|
|
|
|
${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/Makefile)
|
|
|
- mksh ${TOPDIR}/package/depmaker
|
|
|
+ $(TOPDIR)/bin/tools/depmaker > ${TOPDIR}/package/Depends.mk
|
|
|
+
|
|
|
|
|
|
.NOTPARALLEL:
|
|
|
.PHONY: all world clean cleantarget cleandir distclean image_clean
|
|
|
|
|
|
-world: $(DISTDIR) $(BUILD_DIR) $(TARGET_DIR) $(PACKAGE_DIR) ${TOPDIR}/.ADK_HAVE_DOT_CONFIG
|
|
|
+world: $(DISTDIR) $(BUILD_DIR) $(TARGET_DIR) $(PACKAGE_DIR)
|
|
|
${BASH} ${TOPDIR}/scripts/scan-pkgs.sh
|
|
|
ifeq ($(ADK_NATIVE),y)
|
|
|
$(MAKE) -f mk/build.mk toolchain/kernel-headers-prepare tools/install target/config-prepare target/compile package/compile root_clean package/install package_index target/install
|
|
@@ -137,10 +141,10 @@ ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
|
|
|
echo "option offline_root ${TARGET_DIR}" >>$(STAGING_DIR)/etc/ipkg.conf
|
|
|
endif
|
|
|
|
|
|
-package/%: ${TOPDIR}/.ADK_HAVE_DOT_CONFIG ${STAGING_DIR}/etc/ipkg.conf ${TOPDIR}/package/Depends.mk
|
|
|
+package/%: ${STAGING_DIR}/etc/ipkg.conf ${TOPDIR}/package/Depends.mk
|
|
|
$(MAKE) -C package $(patsubst package/%,%,$@)
|
|
|
|
|
|
-target/%: ${TOPDIR}/.ADK_HAVE_DOT_CONFIG
|
|
|
+target/%:
|
|
|
$(MAKE) -C target $(patsubst target/%,%,$@)
|
|
|
|
|
|
toolchain/%: ${STAGING_DIR}
|
|
@@ -164,9 +168,15 @@ switch:
|
|
|
else echo "No old target config found";mv .config .config.bak; make TARGET=${TARGET};fi
|
|
|
|
|
|
kernelconfig:
|
|
|
+ifeq ($(ADKtype),)
|
|
|
cp $(TOPDIR)/target/$(ADK_TARGET)/kernel.config $(BUILD_DIR)/linux/.config
|
|
|
$(MAKE) -C $(BUILD_DIR)/linux/ ARCH=$(ARCH) menuconfig
|
|
|
cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ADK_TARGET)/kernel.config
|
|
|
+else
|
|
|
+ cp $(TOPDIR)/target/$(ADKtype)/kernel.config $(BUILD_DIR)/linux/.config
|
|
|
+ $(MAKE) -C $(BUILD_DIR)/linux/ ARCH=$(ARCH) menuconfig
|
|
|
+ cp $(BUILD_DIR)/linux/.config $(TOPDIR)/target/$(ADKtype)/kernel.config
|
|
|
+endif
|
|
|
|
|
|
# create a new package from package/.template
|
|
|
newpackage:
|
|
@@ -177,13 +187,7 @@ newpackage:
|
|
|
$(SED) 's#@PKG@#$(PKG)#' $(TOPDIR)/package/$(PKG)/Makefile
|
|
|
$(SED) 's#@VER@#$(VER)#' $(TOPDIR)/package/$(PKG)/Makefile
|
|
|
@echo "Edit package/$(PKG)/Makefile to complete"
|
|
|
- @echo "choose PKG_SECTION to add it to an existent submenu"
|
|
|
|
|
|
-#############################################################
|
|
|
-#
|
|
|
-# Cleanup and misc junk
|
|
|
-#
|
|
|
-#############################################################
|
|
|
root_clean:
|
|
|
@$(TRACE) root_clean
|
|
|
rm -rf $(TARGET_DIR)
|
|
@@ -206,9 +210,8 @@ clean:
|
|
|
done \
|
|
|
done
|
|
|
rm -rf $(BUILD_DIR) $(BIN_DIR) $(TARGET_DIR) \
|
|
|
- ${TOPDIR}/.cfg_${ADK_TARGET}_${ADK_LIBC} \
|
|
|
${TOPDIR}/package/pkglist.d
|
|
|
- rm -f ${TOPDIR}/package/*/info.mk ${TOPDIR}/package/Depends.mk
|
|
|
+ rm -f ${TOPDIR}/package/Depends.mk
|
|
|
|
|
|
cleankernel:
|
|
|
@$(TRACE) cleankernel
|
|
@@ -216,34 +219,28 @@ cleankernel:
|
|
|
|
|
|
cleandir:
|
|
|
@$(TRACE) cleandir
|
|
|
- @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
|
|
|
+ @$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
|
|
|
rm -rf $(BUILD_DIR_PFX) $(BIN_DIR_PFX) $(TARGET_DIR_PFX) \
|
|
|
- ${TOPDIR}/.cfg* ${TOPDIR}/package/pkglist.d
|
|
|
- rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) \
|
|
|
- $(TOOLS_BUILD_DIR)
|
|
|
- rm -f .menu .tmpconfig.h ${TOPDIR}/package/*/info.mk \
|
|
|
+ ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
|
|
|
+ rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) $(TOOLS_BUILD_DIR)
|
|
|
+ rm -f .menu .tmpconfig.h .rebuild* \
|
|
|
${TOPDIR}/package/Depends.mk ${TOPDIR}/prereq.mk \
|
|
|
- .busyboxcfg
|
|
|
|
|
|
cleantarget:
|
|
|
@$(TRACE) cleantarget
|
|
|
@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
|
|
|
- rm -rf $(BUILD_DIR) $(BIN_DIR) $(TARGET_DIR) \
|
|
|
- ${TOPDIR}/.cfg_${ADK_TARGET}_${ADK_LIBC}
|
|
|
+ rm -rf $(BUILD_DIR) $(BIN_DIR) $(TARGET_DIR)
|
|
|
rm -rf $(TOOLCHAIN_BUILD_DIR) $(STAGING_PARENT)
|
|
|
- rm -f .tmpconfig.h ${TOPDIR}/package/*/info.mk \
|
|
|
- .busyboxcfg all.config .defconfig
|
|
|
+ rm -f .tmpconfig.h all.config .defconfig
|
|
|
|
|
|
distclean:
|
|
|
@$(TRACE) distclean
|
|
|
@$(MAKE) -C $(CONFIG) clean $(MAKE_TRACE)
|
|
|
@rm -rf $(BUILD_DIR_PFX) $(BIN_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
|
|
|
- ${TOPDIR}/.cfg* ${TOPDIR}/package/pkglist.d
|
|
|
- @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) \
|
|
|
- $(TOOLS_BUILD_DIR)
|
|
|
+ ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
|
|
|
+ @rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) $(TOOLS_BUILD_DIR)
|
|
|
@rm -f .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \
|
|
|
- .menu ${TOPDIR}/package/*/info.mk ${TOPDIR}/package/Depends.mk \
|
|
|
- .busyboxcfg .ADK_HAVE_DOT_CONFIG
|
|
|
+ .menu ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG .rebuild.*
|
|
|
|
|
|
else # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
|
|
|
|
|
@@ -293,6 +290,12 @@ ifeq (${OStype},Darwin)
|
|
|
endif
|
|
|
ifneq (,$(filter CYGWIN%,${OStype}))
|
|
|
@echo ADK_HOST_CYGWIN=y > $(TOPDIR)/.defconfig
|
|
|
+endif
|
|
|
+ifeq ($(ADKtype),ibmx40)
|
|
|
+ @echo ADK_HARDWARE_IBMX40=y >> $(TOPDIR)/.defconfig
|
|
|
+endif
|
|
|
+ifeq ($(ADKtype),lemote)
|
|
|
+ @echo ADK_HARDWARE_YEELONG=y >> $(TOPDIR)/.defconfig
|
|
|
endif
|
|
|
@if [ ! -z "$(TARGET)" ];then \
|
|
|
grep "^config" target/Config.in \
|
|
@@ -364,6 +367,12 @@ ifeq (${OStype},Darwin)
|
|
|
endif
|
|
|
ifneq (,$(filter CYGWIN%,${OStype}))
|
|
|
@echo ADK_HOST_CYGWIN=y > $(TOPDIR)/all.config
|
|
|
+endif
|
|
|
+ifeq ($(ADKtype),ibmx40)
|
|
|
+ @echo ADK_HARDWARE_IBMX40=y >> $(TOPDIR)/all.config
|
|
|
+endif
|
|
|
+ifeq ($(ADKtype),lemote)
|
|
|
+ @echo ADK_HARDWARE_YEELONG=y >> $(TOPDIR)/all.config
|
|
|
endif
|
|
|
@if [ ! -z "$(TARGET)" ];then \
|
|
|
grep "^config" target/Config.in \
|
|
@@ -411,21 +420,21 @@ ifneq (,$(filter wrap%,${TARGET}))
|
|
|
@echo ADK_LINUX_ALIX=y >> $(TOPDIR)/all.config
|
|
|
endif
|
|
|
|
|
|
-menuconfig: $(CONFIG)/mconf defconfig .menu
|
|
|
+menuconfig: $(CONFIG)/mconf defconfig .menu package/Config.in.auto
|
|
|
@if [ ! -f .config ];then \
|
|
|
$(CONFIG)/conf -D .defconfig $(CONFIG_CONFIG_IN); \
|
|
|
fi
|
|
|
@$(CONFIG)/mconf $(CONFIG_CONFIG_IN)
|
|
|
${POSTCONFIG}
|
|
|
|
|
|
-guiconfig: $(CONFIG)/gconf defconfig .menu
|
|
|
+guiconfig: $(CONFIG)/gconf defconfig .menu package/Config.in.auto
|
|
|
@if [ ! -f .config ];then \
|
|
|
$(CONFIG)/conf -D .defconfig $(CONFIG_CONFIG_IN); \
|
|
|
fi
|
|
|
@$(CONFIG)/gconf $(CONFIG_CONFIG_IN)
|
|
|
${POSTCONFIG}
|
|
|
|
|
|
-_config: $(CONFIG)/conf .menu
|
|
|
+_config: $(CONFIG)/conf .menu package/Config.in.auto
|
|
|
-@touch .config
|
|
|
@$(CONFIG)/conf ${W} $(CONFIG_CONFIG_IN)
|
|
|
${POSTCONFIG}
|
|
@@ -438,10 +447,10 @@ _mconfig2: ${CONFIG}/conf modconfig .menu
|
|
|
distclean:
|
|
|
@$(MAKE) -C $(CONFIG) clean
|
|
|
@rm -rf $(BUILD_DIR_PFX) $(BIN_DIR_PFX) $(TARGET_DIR_PFX) $(DISTDIR) \
|
|
|
- ${TOPDIR}/.cfg* ${TOPDIR}/package/pkglist.d
|
|
|
+ ${TOPDIR}/package/pkglist.d ${TOPDIR}/package/pkgconfigs.d
|
|
|
@rm -rf $(TOOLCHAIN_BUILD_DIR_PFX) $(STAGING_PARENT_PFX) $(TOOLS_BUILD_DIR)
|
|
|
@rm -f .config* .defconfig .tmpconfig.h all.config ${TOPDIR}/prereq.mk \
|
|
|
- .menu ${TOPDIR}/package/*/info.mk ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG
|
|
|
+ .menu .rebuild.* ${TOPDIR}/package/Depends.mk .ADK_HAVE_DOT_CONFIG
|
|
|
|
|
|
|
|
|
endif # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
|
|
@@ -495,14 +504,22 @@ bulkallmod:
|
|
|
) 2>&1 | tee $(TOPDIR)/bin/$${target}_$$libc/$$target-$$libc-$$fs.log; \
|
|
|
done <${TOPDIR}/target/bulk.lst
|
|
|
|
|
|
-menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile)
|
|
|
+${TOPDIR}/bin/tools/pkgmaker:
|
|
|
+ @mkdir -p $(TOPDIR)/bin/tools
|
|
|
+ @$(HOSTCC) -g -o $@ tools/adk/pkgmaker.c tools/adk/sortfile.c tools/adk/strmap.c
|
|
|
+
|
|
|
+${TOPDIR}/bin/tools/pkgrebuild:
|
|
|
+ @mkdir -p $(TOPDIR)/bin/tools
|
|
|
+ @$(HOSTCC) -g -o $@ tools/adk/pkgrebuild.c tools/adk/strmap.c
|
|
|
+
|
|
|
+package/Config.in.auto menu .menu: $(wildcard ${TOPDIR}/package/*/Makefile) ${TOPDIR}/bin/tools/pkgmaker ${TOPDIR}/bin/tools/pkgrebuild
|
|
|
@echo "Generating menu structure ..."
|
|
|
- mksh $(TOPDIR)/package/pkgmaker
|
|
|
+ @$(TOPDIR)/bin/tools/pkgmaker
|
|
|
@:>.menu
|
|
|
|
|
|
dep:
|
|
|
@echo "Generating dependencies ..."
|
|
|
- mksh $(TOPDIR)/package/depmaker
|
|
|
+ $(TOPDIR)/bin/tools/depmaker > ${TOPDIR}/package/Depends.mk
|
|
|
|
|
|
.PHONY: menu dep
|
|
|
|