我正在使用automake进行VPATH构建.我现在也使用SWIG生成的源代码.我有规则Makefile.am:
dist_noinst_DATA = whatever.swig
whatever.cpp: whatever.swig
    swig -c++ -php $^
然后该文件将在以后使用:
myprogram_SOURCES = ... whatever.cpp
它工作正常$builddir == $srcdir.但是在进行VPATH构建(例如mkdir build; cd build; ../configure; make)时,我收到有关丢失的错误消息whatever.cpp.
生成的源文件应该转到$builddir还是$srcdir?(我估计可能$builddir.)
如何指定依赖项和规则以将生成的文件放在正确的位置?
我在一个目录中有源代码,在另一个目录中有一个 makefile。我能够使用 make 系统的 vpath 机制编译代码。.o 文件正在生成文件所在的同一文件夹中创建。但我想将这些 .o 文件移动到名为obj. 我尝试了以下方法:
vpath %.o obj
但是,它们仍然在与 makefile 相同的文件夹中创建。谁能帮我解决这个问题?
下面是 makefile 的一些突出显示的行:
PATH_TO_OBJ:- ../obj
SRC :- .c files
OBJS :- $(SRC:.c = .o)
.c.o = $(CC) $(CFLAGS) -c 
exe: cc $(LFLAGS) -o $(PATH_TO_OBJ) $(SRC).
在此之后,.o 文件也在 Makefile 的同一文件夹中创建。没有移动到 obj
我有一个makefile,取决于一些属性设置vpath并生成一个源文件列表到一个变量.我需要在不编译任何内容的情况下运行makefile(编译实际上是由不同的makefile处理),并且根据vpath设置查看文件名匹配的真实文件.