编写包含多文件的Makefile以及Makefile的嵌套实验

来源:互联网 发布:js飞机大战源代码 编辑:程序博客网 时间:2024/06/05 03:26

(1)创建目录结构

(2)输入"tree"命令,查看目录;若没有则安装tree命令 (sudo apt-get install tree )


//f1.c#include "../include/myinclude.h"                                                                            void print1(){    printf("Message f1.c\n");    return;}

//Makefile (/f1目录下的)../$(OBJS_DIR)/f1.o:f1.c                                                                                         $(CC) -c $^ -o $@
f2.c 和f2目录下的Makefle和f1目录下的除名字外内容相同

//main.c #include <stdio.h>                                                                                           int main(){    print1();    print2();    return 0;}
//Makefile (/man目录下的Makefile)../$(OBJS_DIR)/main.o:main.c                                                                                     $(CC) -c $^ -o $@

//顶层目录下的Makeflie文件cc=gcc                                                                                                       SUBDIRS=f1 \        f2 \        main \        objOBJS=f1.o f2.o main.oBIN=myappOBJS_DIR=objBIN_DIR=binexport CC OBJS BIN OBJS_DIR BIN_DIRall:CHECK_DIR $(SUBDIRS)CHECK_DIR:    mkdir -p $(BIN_DIR)$(SUBDIRS):ECHO    make -C $@ECHO:    @echo $(SUBDIRS)    @echo begin compileCLEAN:    @$(RM) $(OBJS_DIR)/*.o    @rm -rf $(BIN_DIR)
//Obj目录下的Makefile../$(BIN_DIR)/$(BIN):$(OBJS)                                                                                     $(CC) -o $@ $^
include目录下的myinclude.h 文件#include <stdio.h> 
显示效果:








原创粉丝点击