当前位置:网站首页>Generic kernel and userspace Makefiles
Generic kernel and userspace Makefiles
2022-08-11 06:16:00 【, as you like】
User space Makefile, save as a Makefile
TARGET:=mainSOURCE_FILES:=$(wildcard *.c)INCLUDE_FILES:=$(wildcard *.h)INCLUDE_FILES+=$(wildcard *.h)OBJ:=$(patsubst %.c, %.o, $(SOURCE_FILES))C_FLAGS:= -g -Wall -O2 \-fsanitize=addressLINK_MODULES:=-pthreadLDFLAGS := -L../out/lib/#LINK_MODULES += -lmodulename$(TARGET):$(OBJ)gcc $(C_FLAGS) $(LINK_MODULES) $(LDFLAGS) -o $(TARGET) $(OBJ)%.o:%.c $(INCLUDE_FILES)gcc $(C_FLAGS) -c -o [email protected] $<.PHONY:cleanclean:rm -f $(TARGET) $(OBJ)
The Makefile of the Kernel space, save it as a Makefile
CONFIG_MODULE_SIG=nobj-m := icdev.oCURRENT_PATH:=$(shell pwd)#the current kernel version numberLINUX_KERNEL:=$(shell uname -r)#the absolute pathLINUX_KERNEL_PATH:=/usr/src/linux-headers-$(LINUX_KERNEL)#complie objectall:make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules #######cleanclean:make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean ######
Generic C++ Makefile with directory settings
########## Makefile COMMON #########c or c++EXTENSION =c#gcc or g++CC = gcc#exe nameTARGET = mpls_dump#source-file-direction space add-more-as: src src1 src2SUBDIR=file util.#.o file directionOBJ_DIR = out# (including .h file direction)#CPPFLAGS += -I ./incCPPFLAGS=-I.# link flagsLDFLAGS += -pthread# C flagsCFLAGS += -g -Wall -O2 \-fsanitize=address \-DHAVE_CONFIG_H#not change lines belowALL_SOURCES=$(foreach dir,$(SUBDIR), $(wildcard $(dir)/*.$(EXTENSION)))SOURCE_TO_OBJECT = ./$(OBJ_DIR)/$(subst .$(EXTENSION),.o,$(notdir $(1)))ALL_OBJECTS=$(foreach src,$(ALL_SOURCES),$(call SOURCE_TO_OBJECT,$(src)))define CREATE_OBJECT_TARGET$(call SOURCE_TO_OBJECT,$(1)) : $(1)if [ ! -d $(OBJ_DIR) ]; then mkdir -p $(OBJ_DIR); fi;\$(CC) -c $(CFLAGS) $(CPPFLAGS) -o [email protected] $$^endef$(TARGET):$(ALL_OBJECTS)$(CC) $(CFLAGS) $(LDFLAGS) -o [email protected] $^mv $(TARGET) $(OBJ_DIR)$(foreach src,$(ALL_SOURCES),$(eval $(call CREATE_OBJECT_TARGET,$(src))))all: $(TARGET).PHONY:cleanclean:rm -rf $(OBJ_DIR) $(TARGET)
边栏推荐
猜你喜欢
随机推荐
OSPF综合实验
IDEA本机连接远程TDengine不成功,终于配置成功
GBase 8s分片技术介绍
GBase 8a MPP Cluster产品高级特性
Thread Handler
OpenPCDet安装最新版:spconv一步到位
【转载】图表:数读2022年上半年国民经济
梅科尔工作室-HarmonyOS应用开发的第二次培训
用正则验证文件名是否合法
安全帽识别系统-解决监管难题
DNS外带注入SQLMAP
关于修改挂载到宿主机上的mysql配置文件不生效这件事
梅科尔工作室-DjangoWeb 应用框架+MySQL数据库第三次培训
>>数据管理:DAMA简介
快照读下mvcc实现避免幻读
微信小程序部分功能细节
The selection points you need to know about the helmet identification system
NodeRed系列—nodered安装及基本操作
lvs的keepalived
微信小程序-腾讯云即时通信 IM 小程序直播(一)