如何快速的开发简易C程序,首先需要一个Makefile模板。
简易Makefile特性
这个模板需要具备以下特性:
==》快速编译所有C代码
==》能够快速打包源代码
==》语言简洁易懂,便于后续的模块化操作
这里提供一个这样的模板供大家参考使用,如有改进方法和建议,也请不吝赐教,以便完善,谢谢!
简易Makefile模板
废话不说,使用《Linux下C/C++版本发布自动脚本》集成DEMO的三个文件进行简单的示例(version.c/main.c/version.h)。
Makefile模板文件,编译输出hello可执行程序。
#Makefile for program hello # program := hello sources := $(wildcard *.c) headers := $(wildcard *.h) objects := $(sources:.c=.o) deps := $(sources:.c=.d) CC := gcc SHARED := -shared FPIC := -fPIC CFLAGS := LDFLAGS := RM := rm -f TAR := tar GZIP := gzip me := Makefile all: $(program) hello: $(objects) $(CC) -o [email protected] $(CFLAGS) $(objects) $(LDFLAGS) $(LDLIBS) dist: pkg=`pwd`; tar cvf - $(me) $(sources) $(headers) | $(GZIP) -c > `basename $${pkg}`.tar.gz clean: $(RM) $(objects) $(RM) $(deps) $(RM) $(program) .SUFFIXES: .d .c.d: $(CC) $(CPPFLAGS) -MM -MF [email protected] $< -include $(deps)
简易Makefile模板下载
工程测试结果
测试结果如下所示:
# ls main.c Makefile version.c version.h # make gcc -MM -MF version.d version.c gcc -MM -MF main.d main.c gcc -c -o main.o main.c gcc -c -o version.o version.c gcc -o hello main.o version.o # ls hello main.c main.d main.o Makefile version.c version.d version.h version.o # ./hello get_version: DEBUG_2016-05-10_18:41:24_v1_2_271 get_ver_author: lida get_ver_author_contact: [email protected] get_ver_flag: DEBUG get_build_date: 2016-05-10 get_build_time: 18:41:24 get_ver_major: 1 get_ver_minor: 2 get_ver_rev: 271 # make dist pkg=`pwd`; tar cvf - Makefile main.c version.c version.h | gzip -c > `basename ${pkg}`.tar.gz Makefile main.c version.c version.h # make clean $ ls main.c Makefile version.c version.h version.tar.gz
参考资料
【4】Linux下常用打包、解压方法(tar、bz2、rar)详解
时间: 2024-10-13 04:00:53