关于的makefile的问题~~~
$(LIB_FILE): $(OBJECTS) $(DEF_FILE)
@echo $(LIBCMD)
@$(LIBCMD) $(LIBPARAM) /OUT:$(LIB_FILE) $(OBJECTS) $(COMMON_OBJECTS)
$(DLL_FILE): $(OBJECTS) $(LIB_FILE) $(RESOURCE).rbj
@$(link) $(dlllflags) /implib:$(LIB_FILE) $(linkdebug) \
/out:$(DLL_FILE) $(OBJECTS) $(COMMON_OBJECTS) $(RESOURCE).rbj $(sysdlls) \
/libpath:$(LIB_DIR) $(input_libs)
对makefile语法不太熟,看上面两个例子有点晕了,/out:后面是代表输出的东西么?sysdlls代表系统的静态库,为什么要加在/out:后面呢,/implib:这个代表什么意思啊
[解决办法]
看一遍makefile中文手册就都明白了
[解决办法]
在make(nmake, gmake)中。$(xxxx) 这通常表明xxxx是一个变量。
针对你的这个例子:@$(LIBCMD) $(LIBPARAM) /OUT:$(LIB_FILE) $(OBJECTS) $(COMMON_OBJECTS)
这是一个命令行语句。LIBCMD是一个变量。你应该查看它是什么。比如,很可能就是cl,是M$的C编译器。这样,可以进一步去查cl的手册。看看/OUT开关到底什么意思。
OK,方法给你了。自己查咯。我在Linux下,就不去查了。