Makefile学习笔记12|自定义makefile函数调用实现中的install
希望看到这篇文章的朋友能在评论区留下宝贵的建议来让我们共同成长,谢谢。
这里是目录
安装
创建目录:~/make/src/test_install。在此路径下创建文件:test_install.cpp。make test_install后再./test_install,运行无误后进行下一步。后面要把test_install安装进/usr/bin/。
#include <iostream>
#include <thread>
using namespace std;
int main(int argc,char* argv[])
{
int sec = 1;
if(argc > 1)
sec=atoi(argv[1]);
for(int i;;i++)
{
cout<<"test install"<<i<<endl;
this_thread::sleep_for(chrono::seconds(sec));
}
return 0;
}
# test_install/makefile
TARGET=test_install
OBJS=test_install.o
CC:=g++
OUT=/usr
$(TARGET):$(OBJS)
install:$(TARGET)
@echo "begin install "$(TARGET)
cp $(TARGET) $(OUT)/bin/
@echo $(TARGET) "install success!"
.PHONY:install
执行make install后,我们在任何路径下输入test_install就可以执行程序了。也可以通过make OUT=./out这种方式指定安装路径。
编写安装函数
# test_install/makefile
TARGET=test_install
OBJS=test_install.o
CC:=g++
OUT=/usr
define Install
@echo "begin install "$(1)
-mkdir -p $(2)
cp $(1) $(2)
@echo $(1) "install success!"
endef
$(TARGET):$(OBJS)
install:$(TARGET)
$(call Install,$(TARGET),$(OUT)/bin/)
.PHONY:install
都看到这里了,可以给个点赞或者评论吗?达瓦里希( ̄^ ̄)ゞ