-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathMakefile.node
97 lines (82 loc) · 2.98 KB
/
Makefile.node
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Makefile for the BMaC firmware integration test.
#
# Builds the BMaC ESP8266 node firmware
#
# (c) Maya Posch
#export TOP := $(CURDIR)
GPP = g++
GCC = gcc
MAKEDIR = mkdir -p
RM = rm
AR = ar
ROOT = test/node
OUTPUT = bmac_esp8266
OUTLIB = lib$(OUTPUT).a
INCLUDE = -I $(ROOT)/ \
-I $(ROOT)/SmingCore/ \
-I $(ROOT)/SmingCore/Network \
-I $(ROOT)/SmingCore/Network/libmosquitto \
-I $(ROOT)/SmingCore/Network/libmosquitto/cpp \
-I $(ROOT)/SmingCore/wiring \
-I $(ROOT)/Libraries/BME280 \
-I $(ROOT)/Libraries/MCP23008 \
-I $(ROOT)/Libraries/DHTesp \
-I $(ROOT)/Libraries/APA102 \
-I $(ROOT)/Libraries/HX711 \
-I $(ROOT)/esp8266/app
#-DPOCO_WIN32_UTF8
FLAGS := $(INCLUDE) -g3 -U__STRICT_ANSI__ -DARDUINO=2000 -DESP8266=1
LIB := -L$(ROOT)/lib -l$(OUTPUT) -lmosquittopp -lmosquitto -lnymphrpc \
-lPocoNet -lPocoUtil -lPocoFoundation -lPocoJSON -lstdc++fs \
-lssl -lcrypto
LIB_WIN := -lws2_32
ifeq ($(OS),Windows_NT)
LIB := $(LIB) $(LIB_WIN)
endif
include ./esp8266/version
include ./Makefile-user.mk
CPPFLAGS := $(FLAGS) -DVERSION="\"$(VERSION)\"" $(USER_CFLAGS) -std=c++17 -Wl,--gc-sections -DF_CPU=80000000L
CFLAGS := -g3
CPP_SOURCES := $(wildcard $(ROOT)/SmingCore/*.cpp) \
$(wildcard $(ROOT)/SmingCore/network/*.cpp) \
$(wildcard $(ROOT)/SmingCore/wiring/*.cpp) \
$(wildcard $(ROOT)/Libraries/BME280/*.cpp) \
$(wildcard $(ROOT)/Libraries/MCP23008/*.cpp) \
$(wildcard $(ROOT)/Libraries/DHTesp/*.cpp) \
$(wildcard $(ROOT)/Libraries/APA102/*.cpp) \
$(wildcard $(ROOT)/Libraries/HX711/*.cpp) \
$(wildcard $(ROOT)/Services/WebHelpers/*.cpp)
C_SOURCES := $(wildcard $(ROOT)/SmingCore/network/libyuarel/*.c) \
$(wildcard $(ROOT)/Services/libb64/*.c)
FW_SOURCES := $(wildcard esp8266/app/*.cpp)
CPP_OBJECTS := $(addprefix $(ROOT)/obj/,$(notdir) $(CPP_SOURCES:.cpp=.o))
C_OBJECTS := $(addprefix $(ROOT)/obj/,$(notdir) $(C_SOURCES:.c=.o))
FW_OBJECTS := $(addprefix $(ROOT)/obj/,$(notdir) $(FW_SOURCES:.cpp=.o))
all: makedir $(FW_OBJECTS) $(CPP_OBJECTS) $(C_OBJECTS) $(ROOT)/lib/$(OUTLIB) $(ROOT)/bin/$(OUTPUT)
$(ROOT)/obj/%.o: %.cpp
$(GPP) -c -o $@ $< $(CPPFLAGS)
$(ROOT)/obj/%.o: %.c
$(GCC) -c -o $@ $< $(CFLAGS)
$(ROOT)/lib/$(OUTLIB): $(CPP_OBJECTS) $(C_OBJECTS)
-rm -f $@
$(AR) rcs $@ $^
$(ROOT)/bin/$(OUTPUT):
-rm -f $@
$(GPP) -o $@ $(CPPFLAGS) $(FW_OBJECTS) $(LIB)
makedir:
$(MAKEDIR) $(ROOT)/bin
$(MAKEDIR) $(ROOT)/lib
$(MAKEDIR) $(ROOT)/obj
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/SmingCore/network/Http/http-parser
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/SmingCore/network/libyuarel
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/SmingCore/wiring
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/Services/WebHelpers
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/Services/libb64
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/Libraries/BME280
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/Libraries/APA102
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/Libraries/DHTesp
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/Libraries/MCP23008
$(MAKEDIR) $(ROOT)/obj/$(ROOT)/Libraries/HX711
$(MAKEDIR) $(ROOT)/obj/esp8266/app
clean:
$(RM) $(FW_OBJECTS) $(CPP_OBJECTS) $(C_OBJECTS)