1 Star 0 Fork 0

darkerlsw/dk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
td_compile.mk 7.90 KB
一键复制 编辑 原始数据 按行查看 历史
darkerlsw 提交于 2024-07-18 09:16 . add rk3562 gpio dirver
# td_compile makefile header
# standard component Makefile header
sp := $(sp).x
dirstack_$(sp) := $(d)
d := $(dir)
# chip type
CHIP:=X86_64
# compile paths
CURRENT_PATH := $(shell pwd)
COMPILE_PATHS := $(CURRENT_PATH)/include \
$(CURRENT_PATH)/alg \
$(CURRENT_PATH)/drivers \
$(CURRENT_PATH)/nuc \
$(CURRENT_PATH)/td \
$(CURRENT_PATH)/bll \
$(CURRENT_PATH)/test \
$(CURRENT_PATH)/third \
OBJS_DIR = $(CURRENT_PATH)/obj
# source
SOURCES = $(shell find ./ -name "*.c" ! -path "./include/*" ! -path "./lib/*" ! -path "./build/*" ! -path "./rk/*" ! -path "./nf5180/*" ! -path "./nf5180_sdkfull/*" ! -path "./aurasemi/*" ! -path "./cipher_card/*")
CPP_SOURCES = $(shell find ./ -name "*.cpp" ! -path "./include/*" ! -path "./lib/*" ! -path "./build/*" ! -path "./rk/*" ! -path "./nf5180/*" ! -path "./nf5180_sdkfull/*" ! -path "./aurasemi/*" ! -path "./cipher_card/*")
# headers
HEADERS = $(shell find ./ -name "*.h" ! -path "./include/*" ! -path "./lib/*" ! -path "./build/*" ! -path "./rk/*" ! -path "./nf5180/*" ! -path "./nf5180_sdkfull/*" ! -path "./aurasemi/*" ! -path "./cipher_card/*")
CPP_HEADERS = $(shell find ./ -name "*.h*" ! -path "./include/*" ! -path "./lib/*" ! -path "./build/*" ! -path "./rk/*" ! -path "./nf5180/*" ! -path "./nf5180_sdkfull/*" ! -path "./aurasemi/*" ! -path "./cipher_card/*")
# objs
ALL_OBJS = $(shell find ./ -name "*.o" ! -path "./include/*" ! -path "./lib/*" ! -path "./build/*" ! -path "./rk/*" ! -path "./nf5180/*" ! -path "./nf5180_sdkfull/*" ! -path "./aurasemi/*" ! -path "./cipher_card/*")
# compile gcc
ifneq ($(findstring X86, $(CHIP)), )
CC = gcc
CPP = g++
GDB = gdb
AR = ar
LD = ld
STRIP = strip
OBJDUMP = objdump
NM = nm
DD = -DX86
DD = -DX86 -D__EPOLL_WAIT__
LIB_X86_TOP = /usr/td_lib/lib/x86_lib
LIB_PATHS = $(LIB_X86_TOP)/sqlite3/lib
LIB_INC_PATHS = $(LIB_X86_TOP)/sqlite3/include/
endif
ifneq ($(findstring X86_64, $(CHIP)), )
CC = x86_64-linux-gnu-gcc
CPP = x86_64-linux-gnu-g++
GDB = x86_64-linux-gnu-gdb
AR = x86_64-linux-gnu-ar
LD = x86_64-linux-gnu-ld
STRIP = x86_64-linux-gnu-strip
OBJDUMP = x86_64-linux-gnu-objdump
NM = x86_64-linux-gnu-gcc-nm
DD = -DX86_64 -D__EPOLL_WAIT__
LIB_X86_TOP = /usr/td_lib/lib/x86_lib
LIB_PATHS = $(LIB_X86_TOP)/readline/lib
LIB_PATHS += $(LIB_X86_TOP)/ncurses/lib
LIB_PATHS += $(LIB_X86_TOP)/sqlite3/lib
LIB_PATHS += /usr/lib/mysql
LIB_INC_PATHS = $(LIB_X86_TOP)/readline/include/
LIB_INC_PATHS += $(LIB_X86_TOP)/ncurses/include/
LIB_INC_PATHS += $(LIB_X86_TOP)/sqlite3/include/
endif
ifneq ($(findstring RASPBERRY, $(CHIP)), )
CC = aarch64-linux-gnu-gcc
CPP = aarch64-linux-gnu-g++
GDB = aarch64-linux-gnu-gdb
AR = aarch64-linux-gnu-gcc-ar
LD = aarch64-linux-gnu-gcc-ld
STRIP = aarch64-linux-gnu-gcc-strip
OBJDUMP = aarch64-linux-gnu-gcc-objdump
NM = aarch64-linux-gnu-gcc-nm
DD = -DRASPBERRY
LIB_RASPBERRY_TOP = /usr/td_lib/lib/aarch_lib
LIB_PATHS = $(LIB_RASPBERRY_TOP)/readline/lib
LIB_PATHS += $(LIB_RASPBERRY_TOP)/ncurses/lib
LIB_PATHS += $(LIB_RASPBERRY_TOP)/sqlite3/lib
LIB_INC_PATHS = $(LIB_RASPBERRY_TOP)/readline/include/
LIB_INC_PATHS += $(LIB_RASPBERRY_TOP)/ncurses/include/
LIB_INC_PATHS += $(LIB_RASPBERRY_TOP)/sqlite3/include/
endif
ifneq ($(findstring NF5180, $(CHIP)), )
CC = aarch64-linux-gnu-gcc
CPP = aarch64-linux-gnu-g++
GDB = aarch64-linux-gnu-gdb
AR = aarch64-linux-gnu-gcc-ar
LD = aarch64-linux-gnu-gcc-ld
STRIP = aarch64-linux-gnu-gcc-strip
OBJDUMP = aarch64-linux-gnu-gcc-objdump
NM = aarch64-linux-gnu-gcc-nm
DD = -DNF5180
LIB_NF5180_TOP = /usr/td_lib/lib/aarch_lib
LIB_PATHS = $(LIB_NF5180_TOP)/readline/lib
LIB_PATHS += $(LIB_NF5180_TOP)/ncurses/lib
LIB_PATHS += $(LIB_NF5180_TOP)/sqlite3/lib
LIB_INC_PATHS = $(LIB_NF5180_TOP)/readline/include/
LIB_INC_PATHS += $(LIB_NF5180_TOP)/ncurses/include/
LIB_INC_PATHS += $(LIB_NF5180_TOP)/sqlite3/include/
endif
ifneq ($(findstring RK3588, $(CHIP)), )
CC = aarch64-none-linux-gnu-gcc
CPP = aarch64-none-linux-gnu-g++
GDB = aarch64-none-linux-gnu-gdb
AR = aarch64-none-linux-gnu-ar
LD = aarch64-none-linux-gnu-ld
STRIP = aarch64-none-linux-gnu-strip
OBJDUMP = aarch64-none-linux-gnu-objdump
NM = aarch64-none-linux-gnu-nm
DD = -DRK3588
LIB_RK3588_TOP = /usr/td_lib/lib/aarch_lib
LIB_PATHS = $(LIB_RK3588_TOP)/readline/lib
LIB_PATHS += $(LIB_RK3588_TOP)/ncurses/lib
LIB_PATHS += $(LIB_RK3588_TOP)/sqlite3/lib
LIB_INC_PATHS = $(LIB_RK3588_TOP)/readline/include/
LIB_INC_PATHS += $(LIB_RK3588_TOP)/ncurses/include/
LIB_INC_PATHS += $(LIB_RK3588_TOP)/sqlite3/include/
endif
ifneq ($(findstring HI3798, $(CHIP)), )
CC = arm-histbv320-linux-gcc
CPP = arm-histbv320-linux-g++
GDB = arm-histbv320-linux-gdb
AR = arm-histbv320-linux-ar
LD = arm-histbv320-linux-ld
STRIP = arm-histbv320-linux-strip
OBJDUMP = arm-histbv320-linux-objdump
NM = arm-histbv320-linux-nm
DD = -DHI3798
LIB_HI3798_TOP = /usr/td_lib/lib/arm_his_lib
LIB_PATHS = $(LIB_HI3798_TOP)/readline/lib
LIB_PATHS += $(LIB_HI3798_TOP)/ncurses/lib
LIB_PATHS += $(LIB_HI3798_TOP)/sqlite3/lib
LIB_INC_PATHS = $(LIB_HI3798_TOP)/readline/include/
LIB_INC_PATHS += $(LIB_HI3798_TOP)/ncurses/include/
LIB_INC_PATHS += $(LIB_HI3798_TOP)/sqlite3/include/
endif
ifneq ($(findstring ARM, $(CHIP)), )
CC = arm-linux-gnueabihf-gcc
CPP = arm-linux-gnueabihf-g++
GDB = arm-linux-gnueabihf-gdb
AR = arm-linux-gnueabihf-ar
LD = arm-linux-gnueabihf-ld
STRIP = arm-linux-gnueabihf-strip
OBJDUMP = arm-linux-gnueabihf-objdump
NM = arm-linux-gnueabihf-gcc-nm
DD = -DARM
LIB_ARM_TOP = /usr/td_lib/lib/arm_lib
LIB_PATHS = $(LIB_ARM_TOP)/readline/lib
LIB_PATHS += $(LIB_ARM_TOP)/ncurses/lib
LIB_PATHS += $(LIB_ARM_TOP)/sqlite3/lib
LIB_INC_PATHS = $(LIB_ARM_TOP)/readline/include/
LIB_INC_PATHS += $(LIB_ARM_TOP)/ncurses/include/
LIB_INC_PATHS += $(LIB_ARM_TOP)/sqlite3/include/
endif
ifneq ($(findstring IMX6ULL, $(CHIP)), )
CC = arm-linux-gnueabihf-gcc
CPP = arm-linux-gnueabihf-g++
GDB = arm-linux-gnueabihf-gdb
AR = arm-linux-gnueabihf-ar
LD = arm-linux-gnueabihf-ld
STRIP = arm-linux-gnueabihf-strip
OBJDUMP = arm-linux-gnueabihf-objdump
NM = arm-linux-gnueabihf-gcc-nm
DD = -DIMX6ULL
endif
ifneq ($(findstring LS2K, $(CHIP)), )
CC = mips64el-linux-gcc
CPP = mips64el-linux-g++
GDB = mips64el-linux-gdb
AR = mips64el-linux-ar
LD = mips64el-linux-ld
STRIP = mips64el-linux-strip
OBJDUMP = mips64el-linux-objdump
NM = mips64el-linux-gcc-nm
DD = -DLS2K
LIB_MIPS_TOP = /usr/td_lib/lib/mips_lib
LIB_PATHS = $(LIB_MIPS_TOP)/readline/lib
LIB_PATHS += $(LIB_MIPS_TOP)/ncurses/lib
LIB_PATHS += $(LIB_MIPS_TOP)/sqlite3/lib
LIB_INC_PATHS = $(LIB_MIPS_TOP)/readline/include/
LIB_INC_PATHS += $(LIB_MIPS_TOP)/ncurses/include/
LIB_INC_PATHS += $(LIB_MIPS_TOP)/sqlite3/include/
endif
ifneq ($(findstring UBUNTU, $(CHIP)), )
CC = gcc
CPP = g++
endif
# compile cond -Wno-unused-value
C_STD = -std=c99
CPP_STD = -std=gnu++11 #-std=c++11
LD_FLAGS = -lreadline -lpthread -lm -lncurses -rdynamic -ldl -lsqlite3
C_FLAGS = -ggdb -Wall -fPIC -O3 -Wno-unused-function -Wno-unused-parameter -Wno-maybe-uninitialized -Wno-unused-variable -Wno-discarded-qualifiers -Wno-unused-but-set-variable -fexceptions -fstack-protector-strong -Wl,-z,relro -funwind-tables -Wno-deprecated-declarations -Wno-format-overflow -Wno-address
CPP_FLAGS = -ggdb -Wall -fPIC -O3 -Wno-unused-function -Wno-sign-compare -Wno-unused-parameter -Wno-write-strings -Wno-maybe-uninitialized -Wno-unused-variable -Wno-stringop-truncation -Wno-delete-non-virtual-dtor -Wno-unused-but-set-variable -fexceptions -fstack-protector-strong -Wl,-z,relro -funwind-tables
INCLUED_PATHS = $(COMPILE_PATHS)
INCLUED_PATHS += $(LIB_INC_PATHS)
INC_FLAGS = $(addprefix -I , $(INCLUED_PATHS))
LIB_FLAGS = $(addprefix -L , $(LIB_PATHS))
ifneq ($(findstring X86_64, $(CHIP)), )
LD_FLAGS += -lmysqlclient -lz -lopencv_world
endif
# compiler
COMPILE = $(CC) $(C_FLAGS) $(INC_FLAGS) $(DD) -c -o $@ $<
CPP_COMPILE = $(CPP) $(CPP_STD) $(CPP_FLAGS) $(INC_FLAGS) $(DD) -c -o $@ $<
#link
LINK = $(CC) $^ $(LIB_FLAGS) $(LD_FLAGS) -o $@
CPP_LINK = $(CPP) $^ $(LIB_FLAGS) $(LD_FLAGS) -o $@
# standard component Makefile footer
d := $(dirstack_$(sp))
sp := $(basename $(sp))
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/darkerlsw/dk.git
git@gitee.com:darkerlsw/dk.git
darkerlsw
dk
dk
master

搜索帮助