我正在编写一个使用makefile在Ubuntu中配置和安装某些软件的方法,我知道你需要在makefile中使用$(MAKE)
而不是make
,但是可以安装给定的包只是输入$(MAKE) install package
?
由于
答案 0 :(得分:0)
Make
不是shell,makefile不是shell脚本。你真的需要记住 - 不要尝试编写shell脚本并将其放在makefile中。 Make
是一个声明性的"语言,而不是"程序"像一个脚本。
您需要了解安装后您希望拥有的文件,安装前的文件以及从后者到前者的命令。然后制定前者依赖后者的规则,并在配方中使用这些命令。
如果这听起来太多了,而且很可能,那么,你需要不使用Makefile,而是自己写一个shell脚本,然后使用{{1}另外调用它(可能在之后) }。
Make
和install
不是您希望在安装后拥有的文件,因此它们不应该为它们编写食谱。他们可能被认为是"假的"制定目标,但是,你仍然需要依靠它们来实现"真实的"文件,并为那些写详细的食谱。