Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何复制文件并在Makefile中创建目录?_C_Linux_Bash_Makefile - Fatal编程技术网

C 如何复制文件并在Makefile中创建目录?

C 如何复制文件并在Makefile中创建目录?,c,linux,bash,makefile,C,Linux,Bash,Makefile,从Makefile: 需要从。/lib复制一个文件,并从当前名为test的创建一个目录 和另一个文件,并从当前名为test2 有这个,但我不知道怎么做,我没有从互联网上找到任何有用的信息 COPY_FILES=$(DIR)…/lib/libmy.a$(DIR)/my.h 迪尔= 全部:$(复制_文件) $(DIR)/libmy.a: 在我的一个Make文件中,我有以下规则: $(BUILD_DIRECTORY)/$(LIBRARY): $(BUILD_DIRECTORY) @clang

从Makefile:

需要从
。/lib
复制一个文件,并从当前名为
test
创建一个目录

和另一个文件,并从当前名为
test2

有这个,但我不知道怎么做,我没有从互联网上找到任何有用的信息

COPY_FILES=$(DIR)…/lib/libmy.a$(DIR)/my.h
迪尔=
全部:$(复制_文件)
$(DIR)/libmy.a:

在我的一个Make文件中,我有以下规则:

$(BUILD_DIRECTORY)/$(LIBRARY): $(BUILD_DIRECTORY)
    @clang -c $(COMMON_INCLUDE_PATHS) $(LIBRARY_COMPILER_FLAGS) $(LIBRARY_SOURCES)
    @ar rcs $(LIBRARY) *.o
    @mv $(LIBRARY) $(BUILD_DIRECTORY)
    @rm -f *.o

$(BUILD_DIRECTORY):
    @mkdir $(BUILD_DIRECTORY)
$(BUILD\u DIRECTORY)
$(BUILD\u DIRECTORY)/$(LIBRARY)
的依赖项

如果不希望规则创建生成目录,可以使用以下方法创建目录:

mkdir -p <directory>
mkdir-p

如果目录已经存在,则
-p
选项将忽略错误。

该过程的哪个部分不起作用?你在挣扎什么?您的目标目录
DIR
被声明为空,在设置/声明它之前,您还引用了
$(DIR)
。@Corion不知道如何创建目录并将文件复制到目录中我从Makefile创建它a
Makefile
主要是shell命令,因此,您可以使用
mkdir
创建目录,并使用
cp
复制文件。也可以学习MaxFrm,从编辑你的问题的角度来清楚。得到一个简单的Mag文件,然后尝试用变量来概括它。只需执行
all:\n\tmkdir test\ncp../lib/libmy.a.
。当你想好如何调用它并让它做你想做的事情时,就开始担心如何正确处理依赖关系并使它更通用。