2
2
# Changelog
3
3
# Changed the variables to include the header file directory
4
4
# Added global var for the XTENSA tool root
5
- #
5
+ #
6
+ # This make file still needs some work.
7
+ #
8
+ #
6
9
# Output directors to store intermediate compiled files
7
10
# relative to the project directory
8
11
BUILD_BASE = build
9
12
FW_BASE = firmware
10
13
11
14
# Base directory for the compiler
12
- XTENSA_TOOLS_ROOT = /opt/Espressif/crosstool-NG/builds/xtensa-lx106-elf/bin
15
+ XTENSA_TOOLS_ROOT ? = /opt/Espressif/crosstool-NG/builds/xtensa-lx106-elf/bin
13
16
14
17
# base directory of the ESP8266 SDK package, absolute
15
- SDK_BASE = /opt/Espressif/ESP8266_SDK
18
+ SDK_BASE ?= /opt/Espressif/ESP8266_SDK
19
+
20
+ # Esptool.py path and port
21
+ ESPTOOL ?= esptool.py
22
+ ESPPORT ?= /dev/ttyUSB0
16
23
17
24
# name for the target project
18
25
TARGET = rfxcom_light
19
26
20
27
# which modules (subdirectories) of the project to include in compiling
21
28
MODULES = driver user
22
- EXTRA_INCDIR = include /usr/include /usr/include/i386-linux-gnu
29
+ EXTRA_INCDIR = include /usr/include /usr/include/i386-linux-gnu
23
30
24
31
# libraries used in this project, mainly provided by the SDK
25
32
LIBS = c gcc hal phy net80211 lwip wpa main
@@ -55,7 +62,7 @@ LD := $(XTENSA_TOOLS_ROOT)/xtensa-lx106-elf-gcc
55
62
# ###
56
63
# ### no user configurable options below here
57
64
# ###
58
- FW_TOOL : = /usr/bin/esptool
65
+ FW_TOOL ? = /usr/bin/esptool
59
66
SRC_DIR := $(MODULES )
60
67
BUILD_DIR := $(addprefix $(BUILD_BASE ) /,$(MODULES ) )
61
68
@@ -77,51 +84,65 @@ MODULE_INCDIR := $(addsuffix /include,$(INCDIR))
77
84
FW_FILE_1 := $(addprefix $(FW_BASE ) /,$(FW_FILE_1 ) .bin)
78
85
FW_FILE_2 := $(addprefix $(FW_BASE ) /,$(FW_FILE_2 ) .bin)
79
86
87
+ V ?= $(VERBOSE )
88
+ ifeq ("$(V ) ","1")
89
+ Q :=
90
+ vecho := @true
91
+ else
92
+ Q := @
93
+ vecho := @echo
94
+ endif
95
+
80
96
vpath % .c $(SRC_DIR )
81
97
82
98
define compile-objects
83
99
$1/%.o: %.c
84
- @echo "CC $$< "
85
- @ $(CC ) $(INCDIR ) $(MODULE_INCDIR ) $(EXTRA_INCDIR ) $(SDK_INCDIR ) $(CFLAGS ) -c $$< -o $$@
100
+ $( vecho ) "CC $$< "
101
+ $( Q ) $(CC ) $(INCDIR ) $(MODULE_INCDIR ) $(EXTRA_INCDIR ) $(SDK_INCDIR ) $(CFLAGS ) -c $$< -o $$@
86
102
endef
87
103
88
104
.PHONY : all checkdirs clean
89
105
90
106
all : checkdirs $(TARGET_OUT ) $(FW_FILE_1 ) $(FW_FILE_2 )
91
107
92
108
$(FW_FILE_1 ) : $(TARGET_OUT )
93
- @echo " FW $@ "
94
- $(FW_TOOL ) -eo $(TARGET_OUT ) $(FW_FILE_1_ARGS )
109
+ $( vecho ) " FW $@ "
110
+ $(Q ) $( FW_TOOL ) -eo $(TARGET_OUT ) $(FW_FILE_1_ARGS )
95
111
96
112
$(FW_FILE_2 ) : $(TARGET_OUT )
97
- @echo " FW $@ "
98
- $(FW_TOOL ) -eo $(TARGET_OUT ) $(FW_FILE_2_ARGS )
113
+ $( vecho ) " FW $@ "
114
+ $(Q ) $( FW_TOOL ) -eo $(TARGET_OUT ) $(FW_FILE_2_ARGS )
99
115
100
116
$(TARGET_OUT ) : $(APP_AR )
101
- @echo " LD $@ "
102
- @ $(LD ) -L$(SDK_LIBDIR ) $(LD_SCRIPT ) $(LDFLAGS ) -Wl,--start-group $(LIBS ) $(APP_AR ) -Wl,--end-group -o $@
117
+ $( vecho ) " LD $@ "
118
+ $( Q ) $(LD ) -L$(SDK_LIBDIR ) $(LD_SCRIPT ) $(LDFLAGS ) -Wl,--start-group $(LIBS ) $(APP_AR ) -Wl,--end-group -o $@
103
119
104
120
$(APP_AR ) : $(OBJ )
105
- @echo " AR $@ "
106
- @ $(AR ) cru $@ $^
121
+ $( vecho ) " AR $@ "
122
+ $( Q ) $(AR ) cru $@ $^
107
123
108
124
checkdirs : $(BUILD_DIR ) $(FW_BASE )
109
125
110
126
$(BUILD_DIR ) :
111
- @ mkdir -p $@
127
+ $( Q ) mkdir -p $@
112
128
113
129
firmware :
114
- @mkdir -p $@
130
+ $(Q ) mkdir -p $@
131
+
132
+ flash : firmware/0x00000.bin firmware/0x40000.bin
133
+ -$(ESPTOOL ) --port $(ESPPORT ) write_flash 0x00000 firmware/0x00000.bin
134
+ sleep 3
135
+ -$(ESPTOOL ) --port $(ESPPORT ) write_flash 0x40000 firmware/0x40000.bin
115
136
116
137
clean :
117
- @ rm -f $(APP_AR )
118
- @ rm -f $(TARGET_OUT )
119
- @ rm -rf $(BUILD_DIR )
120
- @ rm -rf $(BUILD_BASE )
138
+ $( Q ) rm -f $(APP_AR )
139
+ $( Q ) rm -f $(TARGET_OUT )
140
+ $( Q ) rm -rf $(BUILD_DIR )
141
+ $( Q ) rm -rf $(BUILD_BASE )
121
142
122
143
123
- @ rm -f $(FW_FILE_1)
124
- @ rm -f $(FW_FILE_2)
125
- @ rm -rf $(FW_BASE)
144
+ $(Q) rm -f $(FW_FILE_1)
145
+ $(Q) rm -f $(FW_FILE_2)
146
+ $(Q) rm -rf $(FW_BASE)
126
147
127
148
$(foreach bdir,$(BUILD_DIR),$(eval $(call compile-objects,$(bdir))))
0 commit comments