Skip to content

Commit 8e77d78

Browse files
committed
More refinements and efforts to make build output cleaner to read
1 parent 8a823c8 commit 8e77d78

File tree

4 files changed

+612
-123
lines changed

4 files changed

+612
-123
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.mk
2+
*.cfg
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,102 @@
1+
SHELL := $(if $(SHELL), $(SHELL), /bin/sh)
2+
BASH := $(if $(shell which bash), $(shell which bash), /bin/bash)
3+
4+
TARGET_CUSTOM_BUILD_NAME =
5+
TARGET_CUSTOM_BUILD = $(TARGET)-$(strip $(if $(TARGET_CUSTOM_BUILD_NAME), "CustomBuild_$(TARGET_CUSTOM_BUILD_NAME)", "DefaultBuild"))
6+
DEFAULT_TAG_SUPPORT_BASE = -DCONFIG_ISO14443A_SNIFF_SUPPORT \
7+
-DCONFIG_ISO14443A_READER_SUPPORT
8+
SUPPORTED_TAGS ?=
9+
SUPPORTED_TAGS_BUILD := $(SUPPORTED_TAGS)
10+
CUSTOM_CONFIG_SETTINGS_BASE := $(DEFAULT_TAG_SUPPORT) $(SUPPORTED_TAGS_BUILD) -DDEFAULT_CONFIGURATION=CONFIG_NONE
11+
112
## : Include several standardized custom build target variants:
13+
custom-build: CONFIG_SETTINGS:=$(CUSTOM_CONFIG_SETTINGS_BASE)
214
custom-build: local-clean $(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).bin check_size
3-
@cp $(TARGET).hex $(TARGET)-$(TARGET_CUSTOM_BUILD).hex
4-
@cp $(TARGET).eep $(TARGET)-$(TARGET_CUSTOM_BUILD).eep
5-
@cp $(TARGET).bin $(TARGET)-$(TARGET_CUSTOM_BUILD).bin
6-
@echo ""
15+
@cp $(TARGET).hex $(TARGET_CUSTOM_BUILD).hex
16+
@cp $(TARGET).eep $(TARGET_CUSTOM_BUILD).eep
17+
@cp $(TARGET).elf $(TARGET_CUSTOM_BUILD).elf
18+
@cp $(TARGET).bin $(TARGET_CUSTOM_BUILD).bin
19+
@echo $(MSG_TIDY_ENDSEP)$(MSG_TIDY_ENDSEP)$(MSG_TIDY_ENDSEP)"\n"
720
@avr-size -A -x $(TARGET).elf
21+
@echo $(MSG_TIDY_ENDSEP)"\n"
822
@avr-size -B -x $(TARGET).elf
9-
@echo ""
23+
@echo "\n"$(MSG_TIDY_ENDSEP)"\n"
1024
@avr-size -C -x $(TARGET).elf
11-
@echo ""
12-
@echo " ==== SUCCESS BUILDING CUSTOM FIRMWARE -- $(TARGET)-$(TARGET_CUSTOM_BUILD) ===="
13-
@echo ""
25+
@echo $(MSG_TIDY_ENDSEP)$(MSG_TIDY_ENDSEP)$(MSG_TIDY_ENDSEP)"\n"
26+
@echo $(FMT_ANSIC_BOLD)$(FMT_ANSIC_EXCLAIM)"[!!!]"$(FMT_ANSIC_END) \
27+
$(FMT_ANSIC_BOLD)$(FMT_ANSIC_UNDERLINE)"SUCCESS BUILDING CUSTOM FIRMWARE:"$(FMT_ANSIC_END)
28+
@echo $(FMT_ANSIC_BOLD)$(FMT_ANSIC_EXCLAIM)"[!!!]"$(FMT_ANSIC_END) \
29+
$(FMT_ANSIC_BOLD)"$(TARGET_CUSTOM_BUILD).{hex/eep/elf/bin}"$(FMT_ANSIC_END)
30+
@echo "\n"
1431

15-
default_config_support: DEFAULT_TAG_SUPPORT:= \
16-
-DCONFIG_ISO14443A_SNIFF_SUPPORT \
17-
-DCONFIG_ISO14443A_READER_SUPPORT
32+
default_config_support: DEFAULT_TAG_SUPPORT:=$(DEFAULT_TAG_SUPPORT_BASE)
1833
nodefault_config_support: DEFAULT_TAG_SUPPORT:=
1934

20-
## : Define a few other useful custom build targets:
21-
mifare: SUPPORTED_TAGS:=$(DEFAULT_TAG_SUPPORT) \
35+
mifare: SUPPORTED_TAGS_BUILD:=\
2236
-DCONFIG_MF_CLASSIC_MINI_4B_SUPPORT \
2337
-DCONFIG_MF_CLASSIC_1K_SUPPORT \
2438
-DCONFIG_MF_CLASSIC_1K_7B_SUPPORT \
2539
-DCONFIG_MF_CLASSIC_4K_SUPPORT \
2640
-DCONFIG_MF_CLASSIC_4K_7B_SUPPORT \
27-
-DCONFIG_MF_ULTRALIGHT_SUPPORTmifare: CONFIG_SETTINGS:= $(SUPPORTED_TAGS) -DDEFAULT_CONFIGURATION=CONFIG_NONE
28-
mifare: TARGET_CUSTOM_BUILD:=CustomBuild_MifareDefaultSupport
41+
-DCONFIG_MF_ULTRALIGHT_SUPPORT
42+
mifare: TARGET_CUSTOM_BUILD_NAME:=MifareDefaultSupport
2943
mifare: custom-build
3044

3145
mifare-classic: nodefault_config_support
32-
mifare-classic: SUPPORTED_TAGS:=$(DEFAULT_TAG_SUPPORT) \
46+
mifare-classic: SUPPORTED_TAGS_BUILD:=\
3347
-DCONFIG_MF_CLASSIC_MINI_4B_SUPPORT \
3448
-DCONFIG_MF_CLASSIC_1K_SUPPORT \
3549
-DCONFIG_MF_CLASSIC_1K_7B_SUPPORT \
3650
-DCONFIG_MF_CLASSIC_4K_SUPPORT \
3751
-DCONFIG_MF_CLASSIC_4K_7B_SUPPORT
38-
mifare-classic: CONFIG_SETTINGS:= $(SUPPORTED_TAGS) -DDEFAULT_CONFIGURATION=CONFIG_NONE
39-
mifare-classic: TARGET_CUSTOM_BUILD:=CustomBuild_MifareClassicSupport
52+
mifare-classic: TARGET_CUSTOM_BUILD_NAME:=MifareClassicSupport
4053
mifare-classic: custom-build
4154

55+
desfire: CONFIG_SETTINGS:=$(DESFIRE_CONFIG_SETTINGS_BASE) \
56+
-fno-inline-small-functions
57+
desfire: TARGET_CUSTOM_BUILD_NAME:=DESFire
58+
desfire: custom-build
59+
60+
desfire-dev: CONFIG_SETTINGS:=$(DESFIRE_CONFIG_SETTINGS_BASE) \
61+
-fno-inline-small-functions \
62+
-DDESFIRE_MIN_OUTGOING_LOGSIZE=0 \
63+
-DDESFIRE_MIN_INCOMING_LOGSIZE=0 \
64+
-DDESFIRE_DEFAULT_LOGGING_MODE=DEBUGGING \
65+
-DDESFIRE_DEFAULT_TESTING_MODE=1
66+
desfire-dev: TARGET_CUSTOM_BUILD_NAME:=DESFire_DEV
67+
desfire-dev: custom-build
68+
4269
iso-modes: nodefault_config_support
43-
iso-modes: SUPPORTED_TAGS:=$(DEFAULT_TAG_SUPPORT) \
70+
iso-modes: SUPPORTED_TAGS_BUILD:=\
4471
-DCONFIG_ISO14443A_SNIFF_SUPPORT \
4572
-DCONFIG_ISO14443A_READER_SUPPORT \
4673
-DCONFIG_ISO15693_SNIFF_SUPPORT
47-
iso-modes: CONFIG_SETTINGS:= $(SUPPORTED_TAGS) -DDEFAULT_CONFIGURATION=CONFIG_NONE
48-
iso-modes: TARGET_CUSTOM_BUILD:=CustomBuild_ISOSniffReaderModeSupport
74+
iso-modes: TARGET_CUSTOM_BUILD_NAME:=ISOSniffReaderModeSupport
4975
iso-modes: custom-build
5076

5177
ntag215: default_config_support
52-
ntag215: SUPPORTED_TAGS:=$(DEFAULT_TAG_SUPPORT) \
53-
-DCONFIG_NTAG215_SUPPORT
54-
ntag215: CONFIG_SETTINGS:= $(SUPPORTED_TAGS) -DDEFAULT_CONFIGURATION=CONFIG_NONE
55-
ntag215: TARGET_CUSTOM_BUILD:=CustomBuild_NTAG215Support
78+
ntag215: SUPPORTED_TAGS_BUILD:=-DCONFIG_NTAG215_SUPPORT
79+
ntag215: TARGET_CUSTOM_BUILD_NAME:=NTAG215Support
5680
ntag215: custom-build
5781

5882
vicinity: default_config_support
59-
vicinity: SUPPORTED_TAGS:=$(DEFAULT_TAG_SUPPORT) \
60-
-DCONFIG_VICINITY_SUPPORT
61-
vicinity: CONFIG_SETTINGS:= $(SUPPORTED_TAGS) -DDEFAULT_CONFIGURATION=CONFIG_NONE
62-
vicinity: TARGET_CUSTOM_BUILD:=CustomBuild_VicinitySupport
83+
vicinity: SUPPORTED_TAGS_BUILD:=-DCONFIG_VICINITY_SUPPORT
84+
vicinity: TARGET_CUSTOM_BUILD_NAME:=VicinitySupport
6385
vicinity: custom-build
6486

6587
sl2s2002: default_config_support
66-
sl2s2002: SUPPORTED_TAGS:=$(DEFAULT_TAG_SUPPORT) \
67-
-DCONFIG_SL2S2002_SUPPORT
68-
sl2s2002: CONFIG_SETTINGS:= $(SUPPORTED_TAGS) -DDEFAULT_CONFIGURATION=CONFIG_NONE
69-
sl2s2002: TARGET_CUSTOM_BUILD:=CustomBuild_SL2S2002Support
88+
sl2s2002: SUPPORTED_TAGS_BUILD:=-DCONFIG_SL2S2002_SUPPORT
89+
sl2s2002: TARGET_CUSTOM_BUILD_NAME:=SL2S2002Support
7090
sl2s2002: custom-build
7191

7292
tagatit: default_config_support
73-
tagatit: SUPPORTED_TAGS:=$(DEFAULT_TAG_SUPPORT) \
93+
tagatit: SUPPORTED_TAGS_BUILD:=\
7494
-DCONFIG_TITAGITSTANDARD_SUPPORT \
7595
-DCONFIG_TITAGITPLUS_SUPPORT
76-
tagatit: CONFIG_SETTINGS:= $(SUPPORTED_TAGS) -DDEFAULT_CONFIGURATION=CONFIG_NONE
77-
tagatit: TARGET_CUSTOM_BUILD:=CustomBuild_TagatitSupport
96+
tagatit: TARGET_CUSTOM_BUILD_NAME:=TagatitSupport
7897
tagatit: custom-build
7998

8099
em4233: default_config_support
81-
em4233: SUPPORTED_TAGS:=$(DEFAULT_TAG_SUPPORT) \
82-
-DCONFIG_EM4233_SUPPORT
83-
em4233: CONFIG_SETTINGS:= $(SUPPORTED_TAGS) -DDEFAULT_CONFIGURATION=CONFIG_NONE
84-
em4233: TARGET_CUSTOM_BUILD:=CustomBuild_EM4233Support
100+
em4233: SUPPORTED_TAGS_BUILD:=-DCONFIG_EM4233_SUPPORT
101+
em4233: TARGET_CUSTOM_BUILD_NAME:=EM4233Support
85102
em4233: custom-build
86-
87-
## : Define custom targets for the DESFire build (normal/user mode) and
88-
## : developer mode for use with the Android CMLD application that enables
89-
## : the printing of LIVE logs to the phone's console by default:
90-
desfire-build: local-clean $(TARGET).elf $(TARGET).hex $(TARGET).eep $(TARGET).bin check_size
91-
@cp $(TARGET).hex $(TARGET)-DESFire.hex
92-
@cp $(TARGET).eep $(TARGET)-DESFire.eep
93-
@cp $(TARGET).bin $(TARGET)-DESFire.bin
94-
@echo ""
95-
@avr-size -A -x $(TARGET).elf
96-
@avr-size -B -x $(TARGET).elf
97-
@echo ""
98-
@avr-size -C -x $(TARGET).elf
99-
desfire: CONFIG_SETTINGS:=$(DESFIRE_CONFIG_SETTINGS_BASE) -fno-inline-small-functions
100-
desfire: desfire-build
101-
desfire-dev: CONFIG_SETTINGS:=$(DESFIRE_CONFIG_SETTINGS_BASE) -fno-inline-small-functions \
102-
-DDESFIRE_MIN_OUTGOING_LOGSIZE=0 \
103-
-DDESFIRE_MIN_INCOMING_LOGSIZE=0 \
104-
-DDESFIRE_DEFAULT_LOGGING_MODE=DEBUGGING \
105-
-DDESFIRE_DEFAULT_TESTING_MODE=1
106-
desfire-dev: desfire-build

0 commit comments

Comments
 (0)