makefile 进阶--可以用于实际嵌入式工程中的文件编写2目录引入

RM=rm
RMFLAGS=-fr
CC=cc
OBJS=hello.o hello1.o
MKDIR=mkdir
DIRS=dirobj direxe
EXE=main
EXE:=$(addprefix direxe/,$(EXE))
OBJS:=$(addprefix dirobj/,$(OBJS))

.PHONY:all clean
all:$(EXE) $(DIRS)
$(DIRS):
    $(MKDIR) $@
$(EXE):$(OBJS)
    $(CC) -o $@ $^
dirobj/%.o:%.c                        #moshi
    $(CC) -o $@ -c $^
clean:
    $(RM) $(RMFLAGS) dirobj

执行结果:

melody@melody-G41D3:~/zmakefile/make4$ make
cc -o dirobj/hello.o -c hello.c
cc -o dirobj/hello1.o -c hello1.c
cc -o direxe/main dirobj/hello.o dirobj/hello1.o
melody@melody-G41D3:~/zmakefile/make4$ ./main
myprint 1!
melody@melody-G41D3:~/zmakefile/make4$ ls
direxe  hello1.c  hello.c  makefile   基础文件
dirobj  hello1.h  main     makefile~  基础文件~

melody@melody-G41D3:~/zmakefile/make4$ cd dirobj
melody@melody-G41D3:~/zmakefile/make4/dirobj$ ls
hello1.o  hello.o

melody@melody-G41D3:~/zmakefile/make4$ make clean
rm -fr dirobj
melody@melody-G41D3:~/zmakefile/make4$ ls
direxe    hello1.h  main      makefile~  基础文件~
hello1.c  hello.c   makefile  基础文件


    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值