Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

Makefile 之加入副词

  项目中的一些 make install 经常由于各种奇奇怪怪的原因失败,比如权限问题、网络问题等。于是我愤怒地在 make 命令中加了个名为 fucking 的副词,只有遇到 make install 失败就执行 make fucking install 即可解决大部分问题。fucking 之后心情顿时舒坦了许多。
  在 make 命令后面的每一个参数都会去找对应的 target。为了避免出现 target 找不到的问题,所以需要创建一个不做任何事情的 target。但是考虑到使用 fucking 解决问题时经常都需要 sudo 权限,所以我会在 fucking target 中执行 sudo -v 之类的任务。 fucking: @sudo -v   添加好 fucking target 之后执行「make fucking install」就不会报错了,但也仅仅是不会报错而已。接下来还需要在 install 中断当前是否存在 fucking,并做一些其它任务。于是我们通过 $(MAKECMDGOALS) 这个 Makefile 的内部变量来获取从命令行输入的 target 列表,并检测是否存在 fucking。然后再选择性地执行一些权限修复、网络检测之类的常见错误修复任务。
fucking = $(filter fucking,$(MAKECMDGOALS)) fucking: @sudo -v install: ifneq ($(fucking),) @find * -type f | xargs chmod 644 @find * -type d | xargs chmod 755 endif @npm install   「make fucking install」只是一个例子,还可以加入别的副词或形容词来修饰操作。也许有人会觉得这种用法太非主流?其实 Makefile 本来就可以接收命令行变量的,比如「make install fucking=1」。但是这种写法虽然可以省去一些操作,但是用起来非常别扭。反正我觉得 make 命令还是写得像自然语言一样才比较舒服。
网名:
3.80.55.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^