0

我正在为我的应用程序开发 Portfile,并且在 destroot 阶段遇到了问题。根据MacPorts 指南,destroot 阶段执行以下命令:

make install DESTDIR=${destroot}

我想我可能会误解这应该如何在 Makefile 中工作。我的应用程序很简单,安装规则只需要复制几个目录到,DESTDIR所以指定如下:

install:
    cp -R bin $(DESTDIR)/bin
    cp -R lib $(DESTDIR)/lib
    cp -R cfg $(DESTDIR)/cfg

但是,当我尝试对我的应用程序进行 MacPort 安装时,我收到以下警告:

--->  Staging test into destroot
Warning: violation by /bin
Warning: violation by /lib
Warning: violation by /cfg
Warning: test violates the layout of the ports-filesystems!

我该如何解决?我是否误解了DESTDIR变量在安装规则中的使用方式或完全遗漏了什么?

4

1 回答 1

1

目录需要放在DESTDIR下,就好像您从 开始一样/.,例如,$(DESTDIR)/bin您应该使用$(DESTDIR)/$(PREFIX)/bin- where $(PREFIX)is/opt/local或其他,而不是使用。

于 2012-08-04T12:21:14.343 回答