diff --git a/bsp/abstract-machine/.gitignore b/bsp/abstract-machine/.gitignore index 655483d..27ab723 100644 --- a/bsp/abstract-machine/.gitignore +++ b/bsp/abstract-machine/.gitignore @@ -1,3 +1,2 @@ rtconfig.h files.mk -am-apps.mk diff --git a/bsp/abstract-machine/Makefile b/bsp/abstract-machine/Makefile index cdd1f67..94f778c 100644 --- a/bsp/abstract-machine/Makefile +++ b/bsp/abstract-machine/Makefile @@ -1,4 +1,5 @@ ARCH ?= native +AM_APPS_MK = build/${ARCH}/am-apps.mk FILE_MK = files.mk FILE_TMP = .tmp.$(FILE_MK) RTCONFIG_H = rtconfig.h @@ -9,7 +10,7 @@ CFLAGS += -DHAVE_CCONFIG_H -D__RTTHREAD__ CFLAGS += -Wno-nonnull-compare LDFLAGS += -T extra.ld -include $(FILE_MK) --include am-apps.mk +-include $(AM_APPS_MK) include $(AM_HOME)/Makefile $(RTCONFIG_H): @@ -29,7 +30,11 @@ menuconfig: scons --genconfig $(MAKE) init -update: - python integrate-am-apps.py ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) +ifneq ($(MAKECMDGOALS),clean) +update: $(AM_APP_MK) +$(AM_APPS_MK): integrate-am-apps.py + mkdir -p $(@D) + python3 $^ ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) +endif -.PHONY: init menuconfig +.PHONY: init menuconfig update diff --git a/bsp/abstract-machine/integrate-am-apps.py b/bsp/abstract-machine/integrate-am-apps.py index b3f50a4..8968df3 100644 --- a/bsp/abstract-machine/integrate-am-apps.py +++ b/bsp/abstract-machine/integrate-am-apps.py @@ -27,7 +27,7 @@ if not sys.argv[2].startswith("CROSS_COMPILE="): CROSS_COMPILE = sys.argv[2][14:] Path("build").mkdir(exist_ok=True) -am_app_mk_fp = open("am-apps.mk", "w") +am_app_mk_fp = open(f"build/{ARCH}/am-apps.mk", "w") am_app_c_fp = open("build/am-apps.c" , "w") lib_sym = [ "memset", "memcpy", "memmove", "memcmp",