我正在尝试编译 fIcy (https://gitlab.com/wavexx/fIcy) 对于 NetBSD/FreeBSD。
当我执行 make 命令时,没有任何反应。甚至没有错误信息。
相同的源码包在 Debian 10 上编译没有问题。
Makefile 是否与 BSD 兼容?
https://gitlab.com/wavexx/fIcy/blob/master/Makefile
到目前为止我在 FreeBSD 12 上使用的命令:
pkg install gcc
wget https://gitlab.com/wavexx/fIcy/-/archive/master/fIcy-master.tar.gz
tar xfvz fIcy-master.tar.gz
cd fIcy-master
make
type make
make is /usr/bin/make
答案1
答案2
@uzsolt 的答案很可靠。该代码使用所描述的方法为我编译。然而,目标Makefile
似乎需要此补丁install
:
--- Makefile 2019-01-29 07:21:44.000000000 -0800
+++ Makefile 2019-07-24 11:50:40.204021000 -0700
@@ -40,7 +40,7 @@
rm -f $(all_OBJECTS) $(all_DEPS) $(TARGETS)
install: $(TARGETS)
- install -p -t $(DESTDIR)$(PREFIX)/bin/ $(TARGETS)
+ install -p $(TARGETS) $(DESTDIR)$(PREFIX)/bin/
# Dependencies
应用该补丁后,您可以使用以下命令安装已编译的二进制文件:
sudo gmake install
答案3
参考文档,您应该能够FreeBSD
在 中为 BSD 发行版(至少)编译并安装它/usr/local/
,只需使用以下内容:
make CXX=eg++ PREFIX=/usr/local/ install
确保您gcc
的版本等于或高于 3.0。
根据记录,安装部分文档的:
fIcy 附带了一个非常简单的 Makefile,它应该可以在任何使用 gcc 和 GNU make 的系统上工作。文档是使用 rst2html 从这些文件生成的。支持所有标准环境标志,包括用于重新定位安装的 DESTDIR/PREFIX。如果您需要使用不同的编译器(例如在 OpenBSD 上),您可以按如下方式调用 make:
make CXX=eg++ PREFIX=/usr install
而不是手动更改 Makefile。请注意,使用 gcc 时,至少需要 g++ >= 3 才能编译 fIcy。另请注意,要使“fPls”正常工作,fIcy 必须已安装(位于“PATH”中),或者必须使用 -P 指定完整的 fIcy 路径。