| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- .PHONY: all clean
- # C&GO编译器
- CC := arm-linux-gnueabihf-gcc
- GO := go
- GO_BUILD := $(GO) build
- GO_FLAGS := -ldflags "-s -w -X main.BuildTime=$(shell date +%Y-%m-%dT%H:%M:%S)"
- # GO编译环境
- SETGO_ENV = \
- GOOS=linux \
- GOARCH=arm \
- GOARM=7 \
- CC=$(CC) \
- CGO_ENABLED=1
- # 日期和时间
- DATE := $(shell date +%Y%m%d_%H%M%S)
- # 依赖库路径
- RTU_LINUX_MODULES_PATH := $(shell pwd)/../rtu_linux_modules
- # 依赖静态库
- S_LIBS0 := -Wl,-Bstatic -L$(RTU_LINUX_MODULES_PATH)/swapi -lswapi
- S_LIBS1 := -Wl,-Bstatic -L$(RTU_LINUX_MODULES_PATH)/ec200u -lec200u -L$(RTU_LINUX_MODULES_PATH)/air720u -lair720u
- S_LIBS2 := -Wl,-Bstatic -L$(RTU_LINUX_MODULES_PATH)/hk_takephoto -lhk_takephoto -L$(RTU_LINUX_MODULES_PATH)/dh_takephoto -ldh_takephoto
- S_LIBS3 := -Wl,-Bstatic -L$(RTU_LINUX_MODULES_PATH)/air530z -lair530z
- # 依赖动态库
- D_LIBS0 := -Wl,-Bdynamic -lc -lm -ldl -lpthread
- D_LIBS2 := -Wl,-Bdynamic -L$(RTU_LINUX_MODULES_PATH)/hk_takephoto/lib/armv7hf/. -lMvCameraControl
- D_LIBS2 += -L$(RTU_LINUX_MODULES_PATH)/dh_takephoto/lib/armv7hf -lMVSDK -liImageProcessing -lImageConvert -llog4cpp -lMvLSCProcess
- D_LIBS2 += -L$(RTU_LINUX_MODULES_PATH)/dh_takephoto/lib/armv7hf/GenICam/bin -lGCBase_gcc483_v3_0 -lGenApi_gcc483_v3_0 -lLog_gcc483_v3_0 -llog4cpp_gcc483_v3_0 -lMathParser_gcc483_v3_0 -lNodeMapData_gcc483_v3_0 -lXmlParser_gcc483_v3_0
- # 编译的目标
- all: networkd timesyncd gnss sshd-mqtt-bridge
- # 可执行程序
- networkd : LK_LIBS = $(S_LIBS0) $(S_LIBS1) $(D_LIBS0)
- networkd : libswapi.a libair720u.a libec200u.a
- mkdir -p ./build
- $(GO) mod tidy
- $(SETGO_ENV) CGO_LDFLAGS="$(LK_LIBS)" $(GO_BUILD) $(GO_FLAGS) -o $@ ./networkd.service/*.go
- cp -f $@ ./build/ && rm -f $@
- timesyncd : LK_LIBS = $(S_LIBS0) $(S_LIBS1) $(D_LIBS0)
- timesyncd : libswapi.a libair720u.a libec200u.a
- mkdir -p ./build
- $(GO) mod tidy
- $(SETGO_ENV) CGO_LDFLAGS="$(LK_LIBS)" $(GO_BUILD) $(GO_FLAGS) -o $@ ./timesyncd.service/*.go
- cp -f $@ ./build/ && rm -f $@
- gnss : LK_LIBS = $(S_LIBS0) $(S_LIBS3) $(D_LIBS0)
- gnss : libswapi.a libair530z.a
- mkdir -p ./build
- $(GO) mod tidy
- $(SETGO_ENV) CGO_LDFLAGS="$(LK_LIBS)" $(GO_BUILD) $(GO_FLAGS) -o $@ ./gnss.service/*.go
- cp -f $@ ./build/ && rm -f $@
- sshd-mqtt-bridge :
- mkdir -p ./build
- $(MAKE) -C $(RTU_LINUX_MODULES_PATH) yfkj_sshd.out target=armv7hf
- cp -f $(RTU_LINUX_MODULES_PATH)/yfkj_sshd.out ./build/$@
- # 静态库模块
- libswapi.a :
- $(MAKE) -C $(RTU_LINUX_MODULES_PATH)/swapi target=armv7hf $@
- libec200u.a :
- $(MAKE) -C $(RTU_LINUX_MODULES_PATH)/ec200u target=armv7hf $@
- libair720u.a :
- $(MAKE) -C $(RTU_LINUX_MODULES_PATH)/air720u target=armv7hf $@
- libair530z.a :
- $(MAKE) -C $(RTU_LINUX_MODULES_PATH)/air530z target=armv7hf $@
- libhk_takephoto.a :
- $(MAKE) -C $(RTU_LINUX_MODULES_PATH)/hk_takephoto target=armv7hf $@
- libdh_takephoto.a :
- $(MAKE) -C $(RTU_LINUX_MODULES_PATH)/dh_takephoto target=armv7hf $@
- # 编译的清理
- clean:
- $(MAKE) -C $(RTU_LINUX_MODULES_PATH) clean
- rm -rf build
|