|
- #Application
- TARGET := DroneNest
- VERSION := 2.1.2
- GATEWAY := 192.168.144.15
- RUNPATH := TH-DNest
- USER := root
- arch = ARM
- ver = DEBUG
-
- #source file
- SOURCE += $(wildcard ./src/*.cpp)
- BLD_DIR := ./build
- OBJS = $(patsubst %.cpp,%.o,$(SOURCE))
- ALL_OBJS:= $(addprefix $(BLD_DIR)/,$(notdir $(OBJS)))
- vpath %.cpp src # 查找依赖时如果遇到%.c,则自动到src目录下寻找 vpath %.c src:src1:src2
-
- #compile and lib parameter
- LIBS := -lgflags -lzlog -lpthread -lpaho-mqtt3a -lpaho-mqttpp3 -lmodbus -lmongoose # -lsqlite3 告诉链接器要链接哪些库文件
- DEFINES :=
- INCLUDE := -I./src -I./inc
- LDFLAGS := -L./lib/$(arch)/zlog -L./lib/$(arch)/mqtt -L./lib/$(arch)/libmodbus -L./lib/$(arch)/gflags -L./lib/$(arch)/http -L./lib/$(arch)/sqlite # 用到的一些优化參数,也能够在里面指定库文件的位置
- CFLAGS := -Wall -g -std=c++11 $(DEFINES) $(INCLUDE) # 指定头文件(.h)的路径
-
- ifeq ($(ver),DEBUG)
- # 表示用于C++编译器的选项
- CXXFLAGS:= $(CFLAGS) -D DEBUG -D SOFTWAREREV=\"$(VERSION)\"
- else
- CXXFLAGS:= $(CFLAGS) -O2
- endif
-
- ifeq ($(arch),ARM)
- CC := arm-linux-gnueabihf-g++
- else
- CC := g++
- CXXFLAGS += -D $(arch)
- endif
-
- # 最终目标
- all: $(BLD_DIR) $(TARGET)
- # @echo ${OBJS}
- # @echo ${ALL_OBJS}
- $(BLD_DIR):
- mkdir $(BLD_DIR)
-
- $(TARGET):$(ALL_OBJS)
- $(CC) $(CXXFLAGS) $^ $(LIBS) $(LDFLAGS) -o $@
- @echo "**********************"
- @echo "***build successful***"
- @echo "**********************"
-
- $(BLD_DIR)/%.o:%.cpp
- $(CC) -c $(CXXFLAGS) $< -o $(BLD_DIR)/$(notdir $@)
-
- .PHONY:clean
- clean:
- rm -rf $(TARGET)
- rm -rf $(BLD_DIR)
- rm -rf $(RUNPATH)
- # rm -rf $(OBJS)
-
- tool:
- $(CC) $(CXXFLAGS) src/tools/serialport.cpp -o src/tools/sp -lmodbus -L./lib/$(arch)/libmodbus
-
- toolinstall:
- scp -rp src/tools/sp $(USER)@$(GATEWAY):/$(USER)
-
- install:
- mkdir -p $(RUNPATH)
- mkdir -p $(RUNPATH)/lib
- mkdir -p $(RUNPATH)/logs
- mkdir -p $(RUNPATH)/web
- cp zlog.conf ./$(RUNPATH)
- cp nginx.conf ./$(RUNPATH)
- cp $(TARGET) ./$(RUNPATH)
- cp -r ./web/* ./$(RUNPATH)/web
-
- cp ./lib/$(arch)/zlog/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/mqtt/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/libmodbus/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/gflags/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/http/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/sqlite/* ./$(RUNPATH)/lib
-
- cp ./dnest_daemon.sh $(RUNPATH)
- cp ./start.sh $(RUNPATH)
- cp ./stop.sh $(RUNPATH)
- cp ./install.sh $(RUNPATH)
- cp ./S99TH.sh $(RUNPATH)
- cp ./restart.sh $(RUNPATH)
- # cp ./DroneNest.conf $(RUNPATH)
- scp -rp $(RUNPATH) $(USER)@$(GATEWAY):/$(USER)
-
- installapp:
- scp -rp $(TARGET) $(USER)@$(GATEWAY):/$(USER)/$(RUNPATH)
-
- pack:
- mkdir -p $(RUNPATH)
- mkdir -p $(RUNPATH)/lib
- mkdir -p $(RUNPATH)/logs
- mkdir -p $(RUNPATH)/web
- mkdir -p $(RUNPATH)/default-cfg
-
- cp zlog.conf ./$(RUNPATH)
- cp nginx.conf ./$(RUNPATH)
-
- cp $(TARGET) ./$(RUNPATH)
-
- cp ./lib/$(arch)/zlog/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/mqtt/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/libmodbus/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/gflags/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/http/* ./$(RUNPATH)/lib
- cp ./lib/$(arch)/sqlite/* ./$(RUNPATH)/lib
- cp -r ./web/* ./$(RUNPATH)/web
-
- cp ./dnest_daemon.sh $(RUNPATH)
- cp ./start.sh $(RUNPATH)
- cp ./stop.sh $(RUNPATH)
- cp ./install.sh $(RUNPATH)
- cp ./S99TH.sh $(RUNPATH)
- cp ./restart.sh $(RUNPATH)
- cp ./DroneNest.conf $(RUNPATH)/default-cfg
- cp ./README.txt $(RUNPATH)
- tar -czvf DNest_$(VERSION)_.tar.gz $(RUNPATH)/*
-
- installcfg:
- scp -rp ./DroneNest.conf $(USER)@$(GATEWAY):/$(USER)/$(RUNPATH)
|