forked from BuLogics/libMSP430
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
151 lines (117 loc) · 4 KB
/
Copy pathMakefile
File metadata and controls
151 lines (117 loc) · 4 KB
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
CXXFLAGS := -fPIC -std=c++0x -fvisibility=hidden -fvisibility-inlines-hidden
PCH_HEADER := ./DLL430_v3/src/TI/DLL430/pch.h
PCH_COMPILED := ./DLL430_v3/src/TI/DLL430/pch.h.gch
DEFINES := -DUNIX
ifdef DEBUG
CXXFLAGS += -g -O0
else
CXXFLAGS += -Os
DEFINES += -DNDEBUG
endif
MAKE_PCH += -x c++-header
USE_PCH += -include $(PCH_HEADER)
export BOOST_DIR
export STATIC
export DEBUG
INCLUDES := \
-I./DLL430_v3/src/TI/DLL430 \
-I./DLL430_v3/include \
-I./DLL430_v3/src/TI/DLL430/EnergyTrace_TSPA \
-I./Bios/include \
-I./ThirdParty/include \
-I./ThirdParty/BSL430_DLL
LIBS :=
STATIC_LIBS :=
ifdef STATIC
STATIC_LIBS += -lboost_filesystem -lboost_system -lbsl430 -lboost_date_time -lboost_chrono -lboost_thread
else
LIBS += -lboost_filesystem -lbsl430 -lboost_date_time -lboost_chrono -lboost_thread
endif
LIBTHIRD := ./ThirdParty/lib64
LIBDIRS := -L$(LIBTHIRD)
UNAME_M := $(shell uname -m)
PLATFORM := $(shell uname -s)
ifeq ($(PLATFORM),Linux)
CXX:= g++
STATICOUTPUT := linux64
OUTPUT := libmsp430.so
DEFINES += -DUNIX
ifdef STATIC
STATIC_LIBS += -lusb-1.0
else
LIBS += -lusb-1.0
endif
LIBS += -lusb-1.0 -lrt -lpthread
ifdef BOOST_DIR
INCLUDES += -I$(BOOST_DIR)
LIBDIRS += -L$(BOOST_DIR)/stage/lib
endif
OUTNAME := -Wl,-soname,
BSTATIC := -Wl,-Bstatic
BDYNAMIC := -Wl,-Bdynamic
ifeq ($(UNAME_M), aarch64)
LIBS += -L/usr/local/lib/cmake/boost_system-1.92.0 -lhidapi-libusb
else
LIBS += -lboost_system
HIDOBJ := $(LIBTHIRD)/hid-libusb.o
endif
else
CXX:= clang++
OUTPUT := libmsp430.dylib
STATICOUTPUT := mac64
ifdef STATIC
STATIC_LIBS += -framework CoreFoundation -framework IOKit -lhidapi
else
LIBS += -framework CoreFoundation -framework IOKit -lhidapi
endif
ifdef BOOST_DIR
INCLUDES += -I$(BOOST_DIR)/include
LIBDIRS += -L$(BOOST_DIR)/lib
endif
OUTNAME := -install_name
BSTATIC :=
BDYNAMIC :=
HIDOBJ :=
endif
BSLLIB := $(LIBTHIRD)/libbsl430.a
SRC := \
./DLL430_v3/src/TI/DLL430/EEM/CycleCounter.cpp \
$(wildcard ./DLL430_v3/src/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/BreakpointManager/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/CycleCounter/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/EemRegisters/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/EmulationManager/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/Exceptions/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/Sequencer/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/SoftwareBreakpoints/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/StateStorage430/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/Trace/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/Trigger/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/TriggerCondition/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/TriggerManager/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EM/VariableWatch/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/EnergyTrace_TSPA/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/logging/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/TemplateDeviceDb/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/DeviceDb/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/MSP432/*.cpp) \
$(wildcard ./DLL430_v3/src/TI/DLL430/warnings/*.cpp) \
$(wildcard ./ThirdParty/src/*.cpp)
OBJS := $(patsubst %.cpp, %.o, $(SRC))
all: $(BSLLIB) $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OUTNAME)$(OUTPUT) -o $(OUTPUT) $(OBJS) $(HIDOBJ) $(LIBDIRS) $(BSTATIC) $(STATIC_LIBS) $(BDYNAMIC) $(LIBS)
rm -f $(STATICOUTPUT).a
ar -rs $(STATICOUTPUT).a $(OBJS)
$(PCH_COMPILED): $(PCH_HEADER)
$(CXX) $(MAKE_PCH) -o $@ $< $(CXXFLAGS) $(INCLUDES) $(DEFINES)
%.o: %.cpp $(PCH_COMPILED)
$(CXX) -c -o $@ $< $(USE_PCH) $(CXXFLAGS) $(INCLUDES) $(DEFINES)
$(BSLLIB):
$(MAKE) -C ./ThirdParty/BSL430_DLL
install:
cp $(OUTPUT) /usr/local/lib/
clean:
$(MAKE) -C ./ThirdParty/BSL430_DLL clean
@for i in $(OBJS); do rm -f $$i; done
@rm -f $(PCH_HEADER).?ch build.log