首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Makefile :如何生成以当前目录命名的zip文件

Makefile是一种用于自动化构建和管理项目的工具,通常用于编译和链接源代码文件。对于生成以当前目录命名的zip文件,可以通过以下步骤来实现:

  1. 创建一个名为Makefile的文件,并在其中定义规则和命令。
  2. 在Makefile中,使用变量来存储当前目录的名称,可以使用$(shell pwd)命令获取当前目录的路径,并使用$(notdir $(CURDIR))命令获取当前目录的名称。
  3. 定义一个目标规则,例如zip,并在规则中编写生成zip文件的命令。
  4. 在命令中使用zip命令来创建zip文件,命令格式为zip [选项] [压缩文件名] [文件列表]
  5. 使用$(notdir $(CURDIR))变量作为压缩文件名,并使用通配符*来指定要包含在zip文件中的文件列表。
  6. 最后,在命令前添加@符号可以隐藏命令的执行过程。

下面是一个示例的Makefile文件:

代码语言:txt
复制
# 获取当前目录的名称
DIR_NAME := $(notdir $(CURDIR))

# 定义目标规则
zip:
    @zip -r $(DIR_NAME).zip *

使用该Makefile文件,可以通过在命令行中运行make zip命令来生成以当前目录命名的zip文件。该命令将会将当前目录下的所有文件和子目录压缩到一个名为当前目录名称的zip文件中。

请注意,这只是一个示例,实际使用时可能需要根据具体情况进行调整。另外,腾讯云提供了一系列云计算相关的产品,例如对象存储(COS)和云函数(SCF),可以根据具体需求选择适合的产品来存储和处理生成的zip文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

什么是makefile(3)

六、另类风格的makefile 即然我们的make可以自动推导命令,那么我看到那堆[.o]和[.h]的依赖就有点不爽,那么多的重复的[.h],能不能把其收拢起来,好吧,没有问题,这个对于make来说很容易,谁叫它提供了自动推导命令和文件的功能呢?来看看最新风格的makefile吧。 objects = main.o kbd.o command.o display.o insert.o search.o files.o utils.o edit : $(objects) cc -o edit $(objects) $(objects) : defs.h kbd.o command.o files.o : command.h display.o insert.o search.o files.o : buffer.h .PHONY : clean clean : rm edit $(objects) 这种风格,让我们的makefile变得很简单,但我们的文件依赖关系就显得有点凌乱了。鱼和熊掌不可兼得。还看你的喜好了。我是不喜欢这种风格的,一是文件的依赖关系看不清楚,二是如果文件一多,要加入几个新的.o文件,那就理不清楚了。

02

tar 压缩中的易错项

其原因是tar默认为相对路径,使用绝对路径的话就回报这个错,可以使用-P参数(注意大写)解决这个问题 [root@localhost test]# tar zcvf services_(date +%F-%H).tar.gz /etc/services tar: Removing leading `/’ from member names /etc/services //上边之所以会报这个错误是因为tar 默认压缩的文件为当前目录下的文件也就是相对路径,而不能用绝对路径 正确的方法: [root@localhost test]# tar zcvfP services_(date +%F-%H).tar.gz /etc/services tar: Removing leading `/’ from member names /etc/services //上边之所以会报这个错误是因为tar 默认压缩的文件为当前目录下的文件也就是相对路径,而不能用绝对路径 正确的方法: [root@localhost test]# tar zcvfP services_(date +%F-%H).tar.gz /etc/services tar: Removing leading `/’ from member names /etc/services //上边之所以会报这个错误是因为tar 默认压缩的文件为当前目录下的文件也就是相对路径,而不能用绝对路径 正确的方法: [root@localhost test]# tar zcvfP services_(date +%F-%H).tar.gz /etc/services 解释:加上P的原因是因为可以压缩绝对路径。

02
领券