linux下面简单通用的Makefile模板

简单通用的Makefile模板:

##############################################
#
# 单目录通用Makefile
# 目标文件可自己的设定
# 始须调试程序,修改 CFLAGS 变量为-Wall -g
#
# wuyq 20140825
##############################################

# EXECUTABLE为目标的可执行文件名, 可以根据具体的情况对其进行修改。
EXECUTABLE := spi

# 修改隐含规则中宏
CC := arm-linux-gcc
CFLAGS := -Wall -O2
LDFLAGS+= -static
#LDFLAGS+= -lftd2xx 

# 列出工作目录下所有以“.c”结尾的文件,以空格分隔,将文件列表赋给变量SOURCE
SOURCE := $(wildcard *.c)

# 调用patsubst函数,生成与源文件对应的“.o”文件列表
OBJS := $(patsubst %.c, %.o, $(SOURCE))

# 编译所有".o"文件生成可执行文件
all : $(EXECUTABLE)
$(EXECUTABLE) : $(OBJS)
	@$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $(EXECUTABLE)

# 声明伪目标
.PHONY : clean

# 删除所有中间文件和目标文件
clean :
	@rm -f $(EXECUTABLE) $(OBJS) *.o
时间: 2024-10-06 01:14:59

linux下面简单通用的Makefile模板的相关文章

一步一步写一个简单通用的makefile(三)

上一篇一步一步写一个简单通用的makefile(二) 里面的makefile 实现对通用的代码进行编译,这一章我将会对上一次的makefile 进行进一步的优化. 优化后的makefile: #Hellomake #Magnum, 2014-10-20 # 指令编译器和选项 CC=gcc CFLAGS=-Wall # 需要链接库的库名,比如libm.a,就是-lm,需要去掉前面的lib和后面的.a LIBS=-lm # 设置默认搜索头文件的路径,优先是这个,然后是系统路径 IncludeDir

我所使用的一个通用的Makefile模板

话不多说,请看: 我的项目有的目录结构有: dirls/ ├── include │   └── apue.h ├── lib │   ├── error.c │   ├── error.o │   └── Makefile ├── src │   ├── dirls.c │   ├── dirls.out │   └── Makefile └── test_client 而我的Makefile模板代码如下: SRCS = $(wildcard *.c ../lib/*.c) #wildcard

linux下 几个常用makefile模板,亲测可用

一 生成动态链接库的模板: 1 ####################### 2 # Makefile 3 ####################### 4 5 # compile and lib parameter 6 CC := g++ 7 LIBS := 8 LDFLAGS := 9 DEFINES := 10 INCLUDE := -I. 11 CFLAGS := 12 CXXFLAGS:= 13 14 # link parameter 15 #LIB := libfunc.so 1

一种调用opencv库的C++工程通用的Makefile模板

第一次自己写makefile,记录一下 #Compilers #CXX=/opt/compiler/gcc-4.8.2/bin/g++ CXX = g++ #Includes INCLUDE_FLAGS = -I${OPENCV_PATH}/include/ #Libraries LIB_FLAGS = -L${OPENCV_PATH}/lib/ #DLLs LD_FLAGS = -lopencv_objdetect -lopencv_highgui -ljasper -ljpeg -ltiff

1、编写一个简单Makefile模板

一.Makefile简介 一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令.linux内核的编译同样也遵循这些规则,具体说明可见kernel/Documentation/kbuild/makefiles.txt 二.简单编写一个Makefile模板 当编译少量的源文件

Linux C编程学习4---多文件项目管理、Makefile、一个通用的Makefile

GNU Make简介 大型项目的开发过程中,往往会划分出若干个功能模块,这样可以保证软件的易维护性. 作为项目的组成部分,各个模块不可避免的存在各种联系,如果其中某个模块发生改动,那么其他的模块需要相应的更新.如果通过手动去完成这个工作的话,对于小型的项目可能还行,但是对于比较大型的项目就几乎是不可能的. 因此Linux 系统提供了一个自动维护和生成目标程序的工具 make,它可以根据各个模块的更改情况去重新编译连接目标代码 Make 工具的作用就是实现编译连接过程的自动化.它定义了一种语言,用

一个简单的makefile模板

在Linux下编译工程,makefile是必不可少的工具,下面记录一个简单的makefile模板. 多个文件目录下的makefile写法推荐参考博文:http://www.cnblogs.com/Anker/p/3242207.html DIR_SRC = ./ DIR_BIN = ../bin PROGRAMNAME = program TARGET = ${DIR_BIN}/${PROGRAMNAME} SRC = $(wildcard ${DIR_SRC}/*.cpp) CC = g++

Linux工程下所有C代码编译Makefile模板

如何快速的开发简易C程序,首先需要一个Makefile模板. 简易Makefile特性 这个模板需要具备以下特性: ==>快速编译所有C代码 ==>能够快速打包源代码 ==>语言简洁易懂,便于后续的模块化操作 这里提供一个这样的模板供大家参考使用,如有改进方法和建议,也请不吝赐教,以便完善,谢谢! 简易Makefile模板 废话不说,使用<Linux下C/C++版本发布自动脚本>集成DEMO的三个文件进行简单的示例(version.c/main.c/version.h). M

linux: 几个常用makefile模板

不才,总结个人常用makefile模板,以备后用. 1.编译动态库 [plain] view plain copy ############################################################# # Makefile for shared library. # 编译动态链接库 ############################################################# #set your own environment o