|
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 |
|