motor-control-sdk/.project/templates/makefile_device_top.xdt

290 lines
9.4 KiB
Plaintext
Raw Permalink Normal View History

%%{
let component_target_list_string = [];
let component_target_private_list_string = [];
let component_target_prebuilt_list_string = [];
let component_target_clean_list_string = [];
let component_target_scrub_list_string = [];
let component_target_prebuilt_clean_list_string = [];
let component_target_prebuilt_scrub_list_string = [];
for (component of args.component_list) {
if(component.isSkipTopLevelBuild) {
component_target_private_list_string +=` \$(BUILD_COMBO_${component.name})`
component_target_clean_list_string +=` \$(BUILD_COMBO_CLEAN_${component.name})`
component_target_scrub_list_string +=` \$(BUILD_COMBO_SCRUB_${component.name})`
}
else if(component.isPrebuilt) {
component_target_prebuilt_list_string +=` \$(BUILD_COMBO_${component.name})`
component_target_prebuilt_clean_list_string +=` \$(BUILD_COMBO_CLEAN_${component.name})`
component_target_prebuilt_scrub_list_string +=` \$(BUILD_COMBO_SCRUB_${component.name})`
}
else {
component_target_list_string +=` \$(BUILD_COMBO_${component.name})`
component_target_clean_list_string +=` \$(BUILD_COMBO_CLEAN_${component.name})`
component_target_scrub_list_string +=` \$(BUILD_COMBO_SCRUB_${component.name})`
}
}
%%}
#
# Auto generated makefile
#
all:
$(MAKE) -f makefile.`device` libs
$(MAKE) -f makefile.`device` examples
clean: libs-clean examples-clean
scrub: libs-scrub examples-scrub
help:
@echo Notes,
@echo - Use -j to invoke parallel builds
@echo - Use PROFILE=debug or PROFILE=release [default] to build in debug or release profile
@echo .
@echo Overall build targets,
@echo ======================
@echo $(MAKE) -s -f makefile.`device` help
@echo .
@echo $(MAKE) -s -f makefile.`device` all
@echo $(MAKE) -s -f makefile.`device` clean # delete's tmp files for current profile
@echo $(MAKE) -s -f makefile.`device` scrub # delete's all tmp files and folders for all profiles
@echo .
@echo $(MAKE) -s -f makefile.`device` libs
@echo $(MAKE) -s -f makefile.`device` libs-clean # delete's tmp files for current profile
@echo $(MAKE) -s -f makefile.`device` libs-scrub # delete's all tmp files and folders for all profiles
@echo .
@echo $(MAKE) -s -f makefile.`device` examples
@echo $(MAKE) -s -f makefile.`device` examples-clean # delete's tmp files for current profile
@echo $(MAKE) -s -f makefile.`device` examples-scrub # delete's all tmp files and folders for all profiles
@echo .
@echo Library build targets,
@echo ======================
% for (component of args.component_list) {
@echo $(MAKE) -s -f makefile.`device``component.buildTarget`
% }
@echo .
@echo Library clean targets,
@echo ======================
% for (component of args.component_list) {
@echo $(MAKE) -s -f makefile.`device``component.buildTargetClean`
% }
@echo .
@echo Example build targets,
@echo ======================
% for (example of args.example_list) {
@echo $(MAKE) -s -C `example.relpath` [all clean syscfg-gui syscfg]
% }
@echo .
@echo System Example build targets,
@echo =============================
% for (example of args.system_example_list) {
@echo $(MAKE) -s -C `example.relpath` [all clean syscfg-gui syscfg]
% }
@echo .
# Various Component Targets
% for (component of args.component_list) {
BUILD_COMBO_`component.name` =`component.buildTarget`
% }
# Combine all Components
BUILD_COMBO_ALL =`component_target_list_string`
# Combine all Pre-built Components
BUILD_COMBO_PREBUILT_ALL =`component_target_prebuilt_list_string`
# Combine all Private Components
BUILD_COMBO_PRIVATE_ALL =`component_target_private_list_string`
libs: $(BUILD_COMBO_ALL)
libs-prebuilt: $(BUILD_COMBO_PREBUILT_ALL)
libs-private: $(BUILD_COMBO_PRIVATE_ALL)
% for (component of args.component_list) {
$(BUILD_COMBO_`component.name`):
$(MAKE) -C `component.relpath` -f makefile`component.tag`.`args.device`.$(subst `component.name`_,,$@) all
% }
# Various Component Clean Targets
% for (component of args.component_list) {
BUILD_COMBO_CLEAN_`component.name` =`component.buildTargetClean`
% }
# Combine all Components Clean
BUILD_COMBO_CLEAN_ALL =`component_target_clean_list_string`
# Combine all Pre-built Components Clean
BUILD_COMBO_PREBUILT_CLEAN_ALL =`component_target_prebuilt_clean_list_string`
libs-clean: $(BUILD_COMBO_CLEAN_ALL)
libs-prebuilt-clean: $(BUILD_COMBO_PREBUILT_CLEAN_ALL)
% for (component of args.component_list) {
$(BUILD_COMBO_CLEAN_`component.name`):
$(MAKE) -C `component.relpath` -f makefile`component.tag`.`args.device`.$(subst `component.name`_,,$(subst _clean,,$@)) clean
% }
# Various Component Scrub Targets
% for (component of args.component_list) {
BUILD_COMBO_SCRUB_`component.name` =`component.buildTargetScrub`_scrub
% }
# Combine all Components Scrub Targets
BUILD_COMBO_SCRUB_ALL =`component_target_scrub_list_string`
# Combine all Pre-built Components Scrub Targets
BUILD_COMBO_PREBUILT_SCRUB_ALL =`component_target_prebuilt_scrub_list_string`
libs-scrub: $(BUILD_COMBO_SCRUB_ALL)
libs-prebuilt-scrub: $(BUILD_COMBO_PREBUILT_SCRUB_ALL)
% for (component of args.component_list) {
$(BUILD_COMBO_SCRUB_`component.name`):
$(MAKE) -C `component.relpath` -f makefile`component.tag`.`args.device`.$(subst `component.name`_,,$(subst _scrub,,$@)) scrub
% }
BUILD_COMBO_EXAMPLE_ALL =
# Various Example Targets
% for (example of args.example_list) {
% if(!example.isSkipTopLevelBuild && !example.isBootLoader) {
BUILD_COMBO_EXAMPLE_ALL +=`example.buildTarget`
% }
% }
# Various System Example Targets
% for (example of args.system_example_list) {
% if(!example.isSkipTopLevelBuild) {
BUILD_COMBO_EXAMPLE_ALL +=`example.buildTarget`
% }
% }
BUILD_COMBO_EXAMPLE_PRIVATE_ALL =
# Various Private Example Targets
% for (example of args.example_list) {
% if(example.isSkipTopLevelBuild && !example.isBootLoader) {
BUILD_COMBO_EXAMPLE_PRIVATE_ALL +=`example.buildTarget`
% }
% }
# Various Private System Example Targets
% for (example of args.system_example_list) {
% if(example.isSkipTopLevelBuild) {
BUILD_COMBO_EXAMPLE_PRIVATE_ALL +=`example.buildTarget`
% }
% }
examples: $(BUILD_COMBO_EXAMPLE_ALL)
examples-private: $(BUILD_COMBO_EXAMPLE_PRIVATE_ALL)
% for (example of args.example_list) {
`example.buildTarget`:
$(MAKE) -C `example.relpath` -f makefile all
% }
% for (example of args.system_example_list) {
`example.buildTarget`:
$(MAKE) -C `example.relpath` -f makefile all
% }
BUILD_COMBO_EXAMPLE_CLEAN_ALL =
# Various Example Clean Targets
% for (example of args.example_list) {
% if(!example.isSkipTopLevelBuild && !example.isBootLoader) {
BUILD_COMBO_EXAMPLE_CLEAN_ALL +=`example.buildTargetClean`
% }
% }
# Various System Example Clean Targets
% for (example of args.system_example_list) {
% if(!example.isSkipTopLevelBuild) {
BUILD_COMBO_EXAMPLE_CLEAN_ALL +=`example.buildTargetClean`
% }
% }
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL =
# Various Private Example Targets
% for (example of args.example_list) {
% if(example.isSkipTopLevelBuild && !example.isBootLoader) {
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL +=`example.buildTargetClean`
% }
% }
# Various Private System Example Targets
% for (example of args.system_example_list) {
% if(example.isSkipTopLevelBuild) {
BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL +=`example.buildTargetClean`
% }
% }
examples-clean: $(BUILD_COMBO_EXAMPLE_CLEAN_ALL)
examples-private-clean: $(BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL)
% for (example of args.example_list) {
`example.buildTargetClean`:
$(MAKE) -C `example.relpath` -f makefile clean
% }
% for (example of args.system_example_list) {
`example.buildTargetClean`:
$(MAKE) -C `example.relpath` -f makefile clean
% }
BUILD_COMBO_EXAMPLE_SCRUB_ALL =
# Various Example Scrub Targets
% for (example of args.example_list) {
% if(!example.isSkipTopLevelBuild && !example.isBootLoader) {
BUILD_COMBO_EXAMPLE_SCRUB_ALL +=`example.buildTargetScrub`
% }
% }
# Various System Example Scrub Targets
% for (example of args.system_example_list) {
% if(!example.isSkipTopLevelBuild) {
BUILD_COMBO_EXAMPLE_SCRUB_ALL +=`example.buildTargetScrub`
% }
% }
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL =
# Various Private Example Targets
% for (example of args.example_list) {
% if(example.isSkipTopLevelBuild && !example.isBootLoader) {
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL +=`example.buildTargetScrub`
% }
% }
# Various Private System Example Targets
% for (example of args.system_example_list) {
% if(example.isSkipTopLevelBuild) {
BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL +=`example.buildTargetScrub`
% }
% }
examples-scrub: $(BUILD_COMBO_EXAMPLE_SCRUB_ALL)
examples-scrub-private: $(BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL)
% for (example of args.example_list) {
`example.buildTargetScrub`:
$(MAKE) -C `example.relpath` -f makefile scrub
% }
% for (example of args.system_example_list) {
`example.buildTargetScrub`:
$(MAKE) -C `example.relpath` -f makefile scrub
% }
.PHONY: all clean scrub help
.PHONY: libs libs-clean libs-scrub
.PHONY: libs-private
.PHONY: libs-prebuilt libs-prebuilt-clean libs-prebuilt-scrub
.PHONY: examples examples-clean examples-scrub
.PHONY: examples-private examples-private-clean examples-private-scrub
.PHONY: $(BUILD_COMBO_ALL) $(BUILD_COMBO_CLEAN_ALL) $(BUILD_COMBO_SCRUB_ALL)
.PHONY: $(BUILD_COMBO_EXAMPLE_ALL) $(BUILD_COMBO_EXAMPLE_CLEAN_ALL) $(BUILD_COMBO_EXAMPLE_SCRUB_ALL)
.PHONY: $(BUILD_COMBO_EXAMPLE_PRIVATE_ALL) $(BUILD_COMBO_EXAMPLE_PRIVATE_CLEAN_ALL) $(BUILD_COMBO_EXAMPLE_PRIVATE_SCRUB_ALL)