Chinaunix首页 | 论坛 | 博客
  • 博客访问: 903826
  • 博文数量: 75
  • 博客积分: 6236
  • 博客等级: 准将
  • 技术积分: 726
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-03 14:43
文章分类

全部博文(75)

文章存档

2019年(1)

2018年(6)

2017年(4)

2015年(1)

2014年(9)

2013年(1)

2012年(3)

2011年(9)

2010年(3)

2009年(2)

2008年(4)

2007年(24)

2006年(8)

我的朋友

分类: LINUX

2006-12-31 15:34:32

前段时间学习了一些关于makefile的知识,后来自己写了一个Makefile模板,然后在每个具体的项目中包含这个makefile,定义一下输出结果就行,如下:      
TARGET := Alert                        
include /usr/local/lib/Makefile.tempalte
 
这个makefile模版适合中小规模的项目,适当修改后可以支持C,C++,ASM等语言的编译和连接。
 
多的不说了,看看maiefle就知道了。
 
我也是刚刚学习自己写makefile,如果有什么建议和指教,请留言,大家切磋切磋!
 
Makefile模版:
# Copyright Hempel.Chen 2006, Sel. Inc
#
# This is a template for makefile w, and you can take usage it freely and modify it according to
# your requiremtnt, the only thing you need to to is to keep this copyright statement.
#
# Any problem or advice, please contact me though the following information:
# MSN:
# Email:

#This is the makefile defines for commonent project compile and link
# ---------------------------------------------------------------------------
#                   commands
# ---------------------------------------------------------------------------
CC  := gcc
LINK := gcc
RM  := rm -rf
MV  := mv
TAR  := tar
MKDIR := mkdir

# ---------------------------------------------------------------------------
#                   settings
# ---------------------------------------------------------------------------
SRC_SUFFIX := .c
OBJ_SUFFIX := .o
LIB_SUFFIX := .a
BIN_SUFFIX := .exe
DLL_SUFFIX := .so
INC_PREFIX := -I
LIB_PREFIX := -L
OPT_C  := -c
OPT_OUT  := -o
OPT_LINKOUT := -o
CFLAGS  := $(OPT_C)
LIBFLAGS := -Debug

# ---------------------------------------------------------------------------
#                   directories
# ---------------------------------------------------------------------------
SRC_DIR  := ./src
OBJ_DIR  := ./obj
INC_DIR  := ./inc
LIB_DIR  := ./lib /usr/local/lib /lib /usr/lib

# ---------------------------------------------------------------------------
#                   common settings
# ---------------------------------------------------------------------------
SRCS  := $(wildcard $(SRC_DIR)/*$(SRC_SUFFIX))
OBJS   := $(patsubst $(SRC_DIR)/%$(SRC_SUFFIX),$(OBJ_DIR)/%$(OBJ_SUFFIX),$(SRCS))
INCS  := $(addprefix $(INC_PREFIX), $(INC_DIR))
LIBS  := $(addprefix $(LIB_PREFIX), $(LIB_DIR)) $(LIBFLAGS)
TEMPFILES  := core core.* *$(OBJ_SUFFIX) temp.* *.out typescript*

# ---------------------------------------------------------------------------
#                   make rule
# ---------------------------------------------------------------------------
.PHONY:  all clean
all: $(TARGET)   
clean:
  $(RM) $(TARGET)$(BIN_SUFFIX) $(OBJS)
  
$(TARGET):$(OBJS)
  $(LINK) $(OPT_LINKOUT)$(TARGET)$(BIN_SUFFIX) $(LIBS) $(OBJS)
  
$(OBJS):$(OBJ_DIR)/%$(OBJ_SUFFIX):$(SRC_DIR)/%$(SRC_SUFFIX)
  $(CC) $(CFLAGS) $(INCS) $(OPT_OUT)$@ $<
   
文件: Makefile.zip
大小: 0KB
下载: 下载
 
(Hempel世界:http://hempel.cublog.cn)
阅读(1776) | 评论(0) | 转发(0) |
0

上一篇:关于博客主人

下一篇:All JSR

给主人留下些什么吧!~~