# targets
srcs = $(wildcard *.java) Constants.java
objs = $(srcs:%.java=$(CLASSDIR)/%.class)
# rules
all: $(objs)
Constants.java : ../rc/AST_types.h genconst.pl
./genconst.pl ../rc/AST_types.h ../rc/mops_constants.h $@
讲一下上面的Makefile内容的含义,谢谢!!
------解决方案--------------------
make all会执行$(srcs:%.java=$(CLASSDIR)/%.class)
其中srcs=$(wildcard *.java) Constants.java
其中Constants.java=../rc/AST_types.h genconst.pl
./genconst.pl ../rc/AST_types.h ../rc/mops_constants.h $@
------解决方案--------------------
makefile是程序运行时需要先装载社么后装载社么的配置文件.
里面的targets就是目标~还有Depends,就是运行这个之前先要依靠Depends社么文件.
all: $(objs) 里面的$ 我是理解我取前面的objs的值(呵呵,和UNIX有点象).其实没必要去理解太多这些,你不可能自己写的
------解决方案--------------------
为了方便load build的脚本,src是指source code的目录,
obj是build出的二进制文件的存放地
all是指 可以build一种target,名字为all,例如命令:make all