Makefile:如何使用pkg config文件安装项目 我试图对我的C++项目进行一个干净的安装: 导出include/dir中的.h 在lib/dir中编译.dylib(macos)或.so(ubuntu)

Makefile:如何使用pkg config文件安装项目 我试图对我的C++项目进行一个干净的安装: 导出include/dir中的.h 在lib/dir中编译.dylib(macos)或.so(ubuntu),c++,makefile,pkg-config,C++,Makefile,Pkg Config,现在的问题是:如何编写/导出与我的项目相对应的pkg config.pc文件和makefile。在Mac OS和Linux中,这样我就可以调用 LDFLAGS=$(shell pkg-config --libs my_project) CPPFLAGS=$(shell pkg-config --cflags my_project) 在其他makefiles中,获取要包含的标志 这就是我到目前为止所做的(macos): 多谢各位。 如果做不到,我会考虑用cmake来做…问题是如何让pkg co

现在的问题是:如何编写/导出与我的项目相对应的pkg config.pc文件和makefile。在Mac OS和Linux中,这样我就可以调用

LDFLAGS=$(shell pkg-config --libs my_project) 
CPPFLAGS=$(shell pkg-config --cflags my_project)
在其他makefiles中,获取要包含的标志

这就是我到目前为止所做的(macos):

多谢各位。
如果做不到,我会考虑用cmake来做…

问题是如何让
pkg config
与您的项目一起工作?您需要为此创建什么文件/等?@EtanReisner抱歉,如果我不够清楚的话。我想在pkg config中添加我的项目的信息,这样其他人就不必考虑他们必须链接到我的项目的其他依赖项。我知道我必须为此创建一个特定的.pkg配置文件,我想直接从makefile中创建。因此,是的,您想知道如何获取
pkg config
以了解您的项目。您需要为项目编写一个
.pc
文件并安装它。运行pkg config--debug,您将看到它正在读取哪些文件。请看其中的一些,了解总体思路,然后再看。另外,
pkg config
手册页也很有用。@EtanReisner但正如许多人以前所做的那样,我希望有工具可以直接从makefile编写那些.pc文件,不是吗?它们只是文本文件。他们没什么特别的。没有
make
不会为你做那种事。autotools/etc.可能有一些东西可以让您更容易地输入正确的值,但这不是一回事。
install : $(OBJS)
  mkdir -p $(INSTALL_LIB_DIR)
  $(CXX) -dynamiclib $^ $(CPPFLAGS) $(LDFLAGS) -o $(INSTALL_LIB_DIR)/lib$(ENGINE_LIB_NAME).dylib
  mkdir -p include
  cp src/*.h include/
  cp src/*.tpp include/
  mv include $(INSTALL_DIR)
  rm -rf include
  rm -rf lib

uninstall:
  @echo "Removing dir " $(INSTALL_DIR)
  rm -r $(INSTALL_DIR)