Skip to content

Commit 058f55d

Browse files
committed
Merge pull request esp8266#6 from zarya/master
Updated makefile tnx to Sprite_tm
2 parents f8ed0a8 + 1c4cc2c commit 058f55d

File tree

2 files changed

+86
-47
lines changed

2 files changed

+86
-47
lines changed

examples/blinky/Makefile

Lines changed: 45 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,31 @@
22
# Changelog
33
# Changed the variables to include the header file directory
44
# Added global var for the XTENSA tool root
5-
#
5+
#
6+
# This make file still needs some work.
7+
#
8+
#
69
# Output directors to store intermediate compiled files
710
# relative to the project directory
811
BUILD_BASE = build
912
FW_BASE = firmware
1013

1114
# 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
1316

1417
# 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
1623

1724
# name for the target project
1825
TARGET = rfxcom_light
1926

2027
# which modules (subdirectories) of the project to include in compiling
2128
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
2330

2431
# libraries used in this project, mainly provided by the SDK
2532
LIBS = c gcc hal phy net80211 lwip wpa main
@@ -55,7 +62,7 @@ LD := $(XTENSA_TOOLS_ROOT)/xtensa-lx106-elf-gcc
5562
####
5663
#### no user configurable options below here
5764
####
58-
FW_TOOL := /usr/bin/esptool
65+
FW_TOOL ?= /usr/bin/esptool
5966
SRC_DIR := $(MODULES)
6067
BUILD_DIR := $(addprefix $(BUILD_BASE)/,$(MODULES))
6168

@@ -77,51 +84,65 @@ MODULE_INCDIR := $(addsuffix /include,$(INCDIR))
7784
FW_FILE_1 := $(addprefix $(FW_BASE)/,$(FW_FILE_1).bin)
7885
FW_FILE_2 := $(addprefix $(FW_BASE)/,$(FW_FILE_2).bin)
7986

87+
V ?= $(VERBOSE)
88+
ifeq ("$(V)","1")
89+
Q :=
90+
vecho := @true
91+
else
92+
Q := @
93+
vecho := @echo
94+
endif
95+
8096
vpath %.c $(SRC_DIR)
8197

8298
define compile-objects
8399
$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 $$@
86102
endef
87103

88104
.PHONY: all checkdirs clean
89105

90106
all: checkdirs $(TARGET_OUT) $(FW_FILE_1) $(FW_FILE_2)
91107

92108
$(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)
95111

96112
$(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)
99115

100116
$(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 $@
103119

104120
$(APP_AR): $(OBJ)
105-
@echo "AR $@"
106-
@$(AR) cru $@ $^
121+
$(vecho) "AR $@"
122+
$(Q) $(AR) cru $@ $^
107123

108124
checkdirs: $(BUILD_DIR) $(FW_BASE)
109125

110126
$(BUILD_DIR):
111-
@mkdir -p $@
127+
$(Q) mkdir -p $@
112128

113129
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
115136

116137
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)
121142

122143

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)
126147

127148
$(foreach bdir,$(BUILD_DIR),$(eval $(call compile-objects,$(bdir))))

examples/example.Makefile

Lines changed: 41 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,21 @@ BUILD_BASE = build
1212
FW_BASE = firmware
1313

1414
# Base directory for the compiler
15-
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
1616

1717
# base directory of the ESP8266 SDK package, absolute
18-
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
1923

2024
# name for the target project
2125
TARGET = rfxcom_light
2226

2327
# which modules (subdirectories) of the project to include in compiling
2428
MODULES = driver user
25-
EXTRA_INCDIR = include /usr/include /usr/include/i386-linux-gnu
29+
EXTRA_INCDIR = include /usr/include /usr/include/i386-linux-gnu
2630

2731
# libraries used in this project, mainly provided by the SDK
2832
LIBS = c gcc hal phy net80211 lwip wpa main
@@ -58,7 +62,7 @@ LD := $(XTENSA_TOOLS_ROOT)/xtensa-lx106-elf-gcc
5862
####
5963
#### no user configurable options below here
6064
####
61-
FW_TOOL := /usr/bin/esptool
65+
FW_TOOL ?= /usr/bin/esptool
6266
SRC_DIR := $(MODULES)
6367
BUILD_DIR := $(addprefix $(BUILD_BASE)/,$(MODULES))
6468

@@ -80,51 +84,65 @@ MODULE_INCDIR := $(addsuffix /include,$(INCDIR))
8084
FW_FILE_1 := $(addprefix $(FW_BASE)/,$(FW_FILE_1).bin)
8185
FW_FILE_2 := $(addprefix $(FW_BASE)/,$(FW_FILE_2).bin)
8286

87+
V ?= $(VERBOSE)
88+
ifeq ("$(V)","1")
89+
Q :=
90+
vecho := @true
91+
else
92+
Q := @
93+
vecho := @echo
94+
endif
95+
8396
vpath %.c $(SRC_DIR)
8497

8598
define compile-objects
8699
$1/%.o: %.c
87-
@echo "CC $$<"
88-
@$(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 $$@
89102
endef
90103

91104
.PHONY: all checkdirs clean
92105

93106
all: checkdirs $(TARGET_OUT) $(FW_FILE_1) $(FW_FILE_2)
94107

95108
$(FW_FILE_1): $(TARGET_OUT)
96-
@echo "FW $@"
97-
$(FW_TOOL) -eo $(TARGET_OUT) $(FW_FILE_1_ARGS)
109+
$(vecho) "FW $@"
110+
$(Q) $(FW_TOOL) -eo $(TARGET_OUT) $(FW_FILE_1_ARGS)
98111

99112
$(FW_FILE_2): $(TARGET_OUT)
100-
@echo "FW $@"
101-
$(FW_TOOL) -eo $(TARGET_OUT) $(FW_FILE_2_ARGS)
113+
$(vecho) "FW $@"
114+
$(Q) $(FW_TOOL) -eo $(TARGET_OUT) $(FW_FILE_2_ARGS)
102115

103116
$(TARGET_OUT): $(APP_AR)
104-
@echo "LD $@"
105-
@$(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 $@
106119

107120
$(APP_AR): $(OBJ)
108-
@echo "AR $@"
109-
@$(AR) cru $@ $^
121+
$(vecho) "AR $@"
122+
$(Q) $(AR) cru $@ $^
110123

111124
checkdirs: $(BUILD_DIR) $(FW_BASE)
112125

113126
$(BUILD_DIR):
114-
@mkdir -p $@
127+
$(Q) mkdir -p $@
115128

116129
firmware:
117-
@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
118136

119137
clean:
120-
@rm -f $(APP_AR)
121-
@rm -f $(TARGET_OUT)
122-
@rm -rf $(BUILD_DIR)
123-
@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)
124142

125143

126-
@rm -f $(FW_FILE_1)
127-
@rm -f $(FW_FILE_2)
128-
@rm -rf $(FW_BASE)
144+
$(Q) rm -f $(FW_FILE_1)
145+
$(Q) rm -f $(FW_FILE_2)
146+
$(Q) rm -rf $(FW_BASE)
129147

130148
$(foreach bdir,$(BUILD_DIR),$(eval $(call compile-objects,$(bdir))))

0 commit comments

Comments
 (0)