在此Makefile中,我希望将编译后的$(TGT)二进制文件复制到同一目录中的子文件夹(test)。如何在Makefile中包含已编译目标文件的复制命令?
CC = g++
CFLAGS = -ansi -std=c++11
LIBS = -L/usr/lib -lstdc++
DEPS = foo.cpp
OBJ = foo.o
TGT+=foo
%.o: %.cc $(DEPS)
$(CC) -c $< $(CFLAGS) -o $@
all: $(TGT)
$(TGT): $(OBJ)
$(CC) $^ $(CFLAGS) $(LIBS) -o $@
# TODO: Need to include the copy command for copying TGT to test folder.
clean:
rm -f *.o $(TGT)
当前文件夹结构是-
<foo>
Makefile
foo.cpp
foo.h
<test>
<..Need "foo" inside this folder>
是否有某些原因您不能仅更改配方来复制文件?
更改:
$(TGT): $(OBJ)
$(CC) $^ $(CFLAGS) $(LIBS) -o $@
收件人:
$(TGT): $(OBJ)
$(CC) $^ $(CFLAGS) $(LIBS) -o $@
cp $@ test