码迷,mamicode.com
首页 > 其他好文 > 详细

Makefile

时间:2016-11-01 21:18:22      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:div   lag   build   prefix   ddp   rm -rf   flags   pat   tar   

外层目录下makefile

 1 SUB_DIR =
 2 INSTALL_SUB_DIR = $(addsuffix .install, $(SUB_DIR))
 3 CLEAN_SUB_DIR = $(addsuffix .clean, $(SUB_DIR))
 4 
 5 .PHONY: $(SUB_DIR) $(INSTALL_SUB_DIR) $(CLEAN_SUB_DIR)
 6 
 7 all:$(SUB_DIR)
 8 
 9 $(SUB_DIR):
10     @make -C$@
11 
12 install: $(INSTALL_SUB_DIR)
13 
14 $(INSTALL_SUB_DIR):$(SUB_DIR)
15     @cd $(basename $@) ; $(MAKE) install
16 
17 clean: $(CLEAN_SUB_DIR)
18 
19 $(CLEAN_SUB_DIR):
20     @cd $(basename $@) ; $(MAKE) clean

 里层目录下makefile

 1 INCLUDE_DIR = include
 2 SRC_DIR = src
 3 BIN_DIR = bin
 4 BUILD_DIR = build
 5 
 6 vpath %.c src
 7 vpath %.h include
 8 vpath %.o build
 9 
10 CC = gcc
11 CFLAGS = -g -Wall -fmessage-length=0
12 INCLUDE += -I$(INCLUDE_DIR)
13 LIBS += -l -L
14 
15 OBJS +=
16 TARGET += 
17 
18 .PHONY:clean
19 
20 all: $(TARGET) 
21 
22 $(TARGET):$(OBJS)
23     $(CC) -o $(BIN_DIR)/$(TARGET) $(CFLAGS) $(addprefix $(BUILD_DIR)/,$(OBJS)) $(INCLUDE) $(LIBS)
24 
25 $(OBJS):%.o:%.c
26     $(CC) -c $(CFLAGS) $(INCLUDE) $< -o $(BUILD_DIR)/$@
27 
28 #install拷贝二进制文件并修改权限,cp拷贝普通文件
29 install:
30     @install $(BIN_DIR)/$(TARGET) /
31     @cp $(BIN_DIR)/*.cfg /
32     
33 clean:
34     rm -rf $(BUILD_DIR)/*  $(BIN_DIR)/$(TARGET) 

 

 

 

Makefile

标签:div   lag   build   prefix   ddp   rm -rf   flags   pat   tar   

原文地址:http://www.cnblogs.com/gaoningbo/p/6020984.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!