当前位置:  技术问答>c/c++开源软件 iis7站长之家

Makefile 死循环

    来源: 互联网  发布时间:2017-05-25

    本文导语:  模仿 李云的Makefile写的,添加include后死循环, 源文件   ./src/main.c ./src/foo.c  ./src/foo.h 执行结果    在 $(DIR_DEPS)/%.dep:$(DIR_DEPS) $(DIR_SRCS)/%.c         @echo "Making $@..."         @set -e;         $(RM) $(RMFLA...

模仿 李云的Makefile写的,添加include后死循环,
源文件   ./src/main.c ./src/foo.c  ./src/foo.h
执行结果    在
$(DIR_DEPS)/%.dep:$(DIR_DEPS) $(DIR_SRCS)/%.c
        @echo "Making $@..."
        @set -e;
        $(RM) $(RMFLAGS) $@.tmp;
        $(CC) -E -MM $(filter %.c,$^) > $@.tmp;
        sed 's,(.*).o[:]*,$(DIR_OBJS)/1.o:,g'  $@;
        $(RM) $(RMFLAGS) $@.tmp
这里死循环了。。。Makefile源文件如下

Makefile[/color]
.PHONY:all clean

CC = gcc
RM = rm
RMFLAGS = -fr

MKDIR = mkdir
DIR_OBJS = objs
DIR_EXES = exes
DIR_SRCS = src
DIR_DEPS = deps
DIRS = $(DIR_OBJS) $(DIR_EXES) $(DIR_DEPS)

EXE = exe
EXE := $(addprefix $(DIR_EXES)/, $(EXE))

SRCS := $(wildcard $(DIR_SRCS)/*.c)
OBJS := $(patsubst $(DIR_SRCS)/%.c,$(DIR_OBJS)/%.o,$(SRCS))
DEPS := $(patsubst $(DIR_SRCS)/%.c,$(DIR_DEPS)/%.dep,$(SRCS))

all: $(EXE)

-include $(DEPS)
-include $(DEPS)

$(DIRS):
        $(MKDIR) $@

$(EXE): $(DIR_EXES) $(OBJS)
        @echo "This is EXE"
        @echo $@
        $(CC) -o $@ $(filter %.o,$^)
$(DIR_OBJS)/%.o:$(DIR_OBJS) $(DIR_SRCS)/%.c
        $(CC) -o $@ -c $(filter %.c,$^)
$(DIR_DEPS)/%.dep:$(DIR_DEPS) $(DIR_SRCS)/%.c
        @echo "Making $@..."
        @set -e;
        $(RM) $(RMFLAGS) $@.tmp;
        $(CC) -E -MM $(filter %.c,$^) > $@.tmp;
        sed 's,(.*).o[:]*,$(DIR_OBJS)/1.o:,g'  $@;
        $(RM) $(RMFLAGS) $@.tmp
clean:
        $(RM) $(RMFLAGS) $(DIRS) 

                    

|
把DIR_DEPS从条件中去掉,手工建立该目录

    
 
 

您可能感兴趣的文章:

  • Makefile 循环中赋值问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Makefile.in,Makefile.am,Makefile.bor应该怎么用?
  • makefile.am和makefile.in是什么文件,与makefile有什么联系吗?
  • 最近在学习linux C 看到了makefile部分,觉得makefile的语法很难理解,Makefile 的语法是不是shell语法?
  • 求解makefile问题,makefile.conf的作用?
  • 从网上载了个C++程序的源代码,包含38个.cpp和.h,还有makefile.in和makefile.am两个文件,但无configure和makefile.请问怎么编译?谢谢!
  • 有makefile.am,有 makefine.in 为什么就是没有Makefile?
  • makefile如何调用文件目录下的makefile
  • 请教根据Makefile.am自动生成Makefile的问题
  • 怎麼樣使Makefile.in生成Makefile?
  • 【急!】一个程序里有好多文件夹里都有Makefile,如何找到最管用的makefile
  • 【makefile使用】请问怎样在shell中获取makefile的最终目标?
  • unix下面make makefile文件,提示“makefile is up-to-date",怎么办呀?
  • Makefile使用遇到的问题!"Makefile:3:missing the separator.stop"在线等待.......
  • Makefile是如何输出执行的路径的,表示执行的是那个Makefile
  • 下的tar.gz源码里只有makefile.in和makefile.am
  • 一句 makefile 的解释 -- makefile 与 shel 结合
  • linux makefile error :Makefile:335: *** commands commence before first target。
  • [test@localhost ~]$ cat <makefile >catfile 跟cat > catfile <makefile是一样的吧?
  • 关于makfile,makefile.in, makefile.am. configure之间的关系
  • win32下编译Linux 下的项目(makefile.am和makefile.in)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3