forked from madmax76/saleae_qspi
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
42 lines (29 loc) · 1016 Bytes
/
Makefile
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
PROJ_DIR := $(CURDIR)
SRC_DIR := $(PROJ_DIR)/source
BUILD_DIR := $(PROJ_DIR)/build
SDK_PATH := $(PROJ_DIR)/AnalyzerSDK
SDK_LIB := $(SDK_PATH)/lib/libAnalyzer64.so
CC := gcc
TARGET := QSPIAnalyzer.so
SRCS := $(SRC_DIR)/QSPIAnalyzerCommands.cpp \
$(SRC_DIR)/QSPIAnalyzerResults.cpp \
$(SRC_DIR)/QSPISimulationDataGenerator.cpp \
$(SRC_DIR)/QSPIAnalyzer.cpp \
$(SRC_DIR)/QSPIAnalyzerSettings.cpp
OBJS := $(subst $(SRC_DIR), $(BUILD_DIR), $(addsuffix .o, $(basename $(SRCS))))
INCLUDES := -I$(SRC_DIR) -I$(SDK_PATH)/include
CXXFLAGS := -O3 -Wall -Wextra -std=c++14 -fPIC -x c++
LD_LIBRARIES := -lsupc++ -lstdc++ $(SDK_LIB)
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp
@echo "[ CXX ] $(notdir $<)"
@mkdir -p $(@D)
@$(CC) -c $(CXXFLAGS) $(INCLUDES) -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
# Link ELF
$(TARGET): $(OBJS)
@echo "[ LD ] $(notdir $@)"
@mkdir -p $(@D)
@$(CC) -shared -o "$@" $^ $(LD_LIBRARIES)
@strip "$@"
.PHONY: clean
clean:
@rm -rf $(BUILD_DIR)