LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 599|回复: 2

问些MAKEFILE的问题 谢谢回答!

[复制链接]
发表于 2005-1-19 11:21:22 | 显示全部楼层 |阅读模式
all: lib $(PROGS) $(DISTLIB)
ifdef INSTALLDIR
        chmod 777 $(PROGS) $(DISTLIB)
#arm-elf-linux-strip mp3play
        for dir in $(INSTALLDIR);do        cp -f $(PROGS) $(DISTLIB) $$dir;done
        @echo
        @date
endif

lib:
        echo $(DEPLIB_DIR1) $(DEPLIB_DIR2)
        for dir in $(DEPLIB_DIRS);do make -C $$dir;done

$(PROG): $(PROG).o $(OBJS) $(DEPLIB)
        $(CC) $(LDFLAGS) -o $@ $^ $(POST_LDFLAGS)

$(DISTLIB): $(OBJS)
        $(AR) $@ $(OBJS)
#        -@ ($(RANLIB) $@ || true) >/dev/null 2>&1

问下哦 :
1)for dir in $(INSTALLDIR);do        cp -f $(PROGS) $(DISTLIB) $$dir;done
这里是不是相当于C语言里的循环函数啊 具体是什么意思呢? 把$(PROGS) $(DISTLIB)复制到$$dir里面??为什么 dir前面有两个$$啊? done是不是就是不推出循环?那还继续执行这个命令下面的命令吗?
2)@echo 既然是空白 为什么还要echo呢?
     @date  这个是什么意思啊?
3)-@ ($(RANLIB) $@ || true) >/dev/null 2>&1 这句是什么意思?
4)这整个是不是生成了3个目标 LIB库文件 PROG执行文件 和DISTLIB??

谢谢朋友们回答  在这先谢过了  谢谢  因为我是新手 所以问得有点很简单 别见怪哦
上面是华恒得一个例程 也运行过了  所以应该在程序上没问题的 :thank  :thank  :thank
 楼主| 发表于 2005-1-19 13:15:20 | 显示全部楼层
???请帮忙啊 !!!
回复 支持 反对

使用道具 举报

发表于 2005-1-19 14:41:42 | 显示全部楼层
先看看置顶的贴子中对makefile所作的介绍。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表