我当前的makefile运行正常。但从那以后,一些文件被转移到另一个新的' Common'目录。那么我的makefile应该是什么样子来构建这个场景呢。目前(此处粘贴的剪切版本):
SERVER_OLIST = file1.o file2.o file3.o $(CRYPT_LIST)
INCLUDES =
LIBRARIES = -lpthread -lrt `mysql_config --cflags` `mysql_config --libs`
DEFINES =
VERSION_DEFINES = -DBUILD_VERSION='"1.3.0"'
COMPILE_OPTIONS = -posix -fexceptions $(DEFINES)
LINK_OPTIONS = -posix
all: loraserver loracmd
loraserver: testbuild
cp $^ $@
.PHONY: updateBuildTime
updateBuildTime:
rm -f BuildVersion.o
testbuild: updateBuildTime $(SERVER_OLIST)
g++ -o $@ $(SERVER_OLIST) $(LINK_OPTIONS) $(LIBRARIES)
所以我尝试将服务器列表更改为:
SERVER_OLIST = file1.o ../Common/file2.o file3.o $(CRYPT_LIST)
但是当它试图建立时说: '没有规则来制作目标../Common/file2.o需要' testbuild' 而不是重写整个makefile是否有一种方法为不同的文件指定不同的目录?