首页 > 代码库 > makefile模板1
makefile模板1
1,编译so
#!/bin/bash ############################################################################ # ############################################################################ #源文件,自动找所有.c和.cpp文件,并将目标定义为同名.o文件 SOURCE := $(wildcard *.c) $(wildcard *.cpp) OBJS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE))) TARGET := libxlib_alg.so ROOT_DIR := /home/derek/share/xlib ############################################################################ # 编译参数 ############################################################################ # 编译器 CC := gcc LD := ld # 编译宏 DEFINES := # 头文件路径 INCLUDE := -I$(ROOT_DIR)/include # 链接库 LIBS := -lpthread # 链接选项 LDFLAGS := # 汇总处理 CFLAGS := -g -Wall -O3 $(DEFINES) $(INCLUDE) $(LIBS) ############################################################################ # 下面的基本上不需要做任何改动了 ############################################################################ all:$(OBJS) echo $(OBJS) $(LD) -shared -o $(TARGET) $(OBJS) $(LDFLAGS) clean: echo "Removing linked and compiled files......" rm -fr *.o $(TARGET) %.o:%.c @echo Compiling $< ... $(CC) -fPIC -c $(CFLAGS) $< -o $*.o
2,编译app
#!/bin/bash ############################################################################ # ############################################################################ #源文件,自动找所有.c和.cpp文件,并将目标定义为同名.o文件 SOURCE := $(wildcard *.c) $(wildcard *.cpp) OBJS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE))) #目标文件名,输入任意你想要的执行文件名 TARGET := cmd.bin ROOT_DIR := /home/derek/share/xlib ############################################################################ # 编译参数 ############################################################################ # 编译器 CC := gcc LD := ld # 编译宏 DEFINES := # 头文件路径 INCLUDE := -I$(ROOT_DIR)/include # 链接库 LIBS := -lpthread # 链接选项 LDFLAGS := # CFLAGS汇总处理 CFLAGS := -g -Wall -O3 $(DEFINES) $(INCLUDE) $(LIBS) ############################################################################ # 下面的基本上不需要做任何改动了 ############################################################################ .PHONY : everything clean rebuild everything : $(TARGET) all : $(TARGET) rebuild: clean everything clean: echo "Removing linked and compiled files......" rm -fr $(TARGET) rm -fr *.o $(TARGET) : $(OBJS) echo $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) ############################################################################
makefile模板1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。