如何将目标文件复制到Makefile中的子文件夹?

问题描述 投票:0回答:1

在此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>
makefile
1个回答
0
投票

是否有某些原因您不能仅更改配方来复制文件?

更改:

$(TGT): $(OBJ)
        $(CC) $^ $(CFLAGS) $(LIBS) -o $@

收件人:

$(TGT): $(OBJ)
        $(CC) $^ $(CFLAGS) $(LIBS) -o $@
        cp $@ test
© www.soinside.com 2019 - 2024. All rights reserved.