在尝试编写非递归make时,我有以下几个块:
dir := $(ROOT)/libs/libA/
include $(dir)/rules.mk
dir := $(ROOT)/libs/libB/
include $(dir)/rules.mk
dir := $(ROOT)/libs/libC/
include $(dir)/rules.mk
这显然是不必要的重复。我如何编写一个宏来折叠所有这些,从而只需要提供libA、libB和libC?我还需要在每个dir之前设置include。
Linux debian 32位主机。项目包含源代码和一个预建的工具链,目标是ARM。当我尝试运行make来构建固件映像时,显示的undefined reference错误很少,编译停止。 ... ...
if [ -f pppd/Makefile.cyt ]; then \
make -C pppd -f Makefile.cyt; \
else \
make -C pppd; \
fi
make[3]: Entering directory '/home/roleyf/test/payton_1.4.1.SR1_gpl/payton/src/router/open
我使用了一个类似于这里介绍的非递归make的实现:
下面是这个问题的一个例子。
主Makefile包括foo/Rules.mk。foo/Rules.mk包含以下代码片段:
# Here, d is bound to foo, the path to the current directory
$(d)/foo.zip: $(d)/bar
zip -r $@ $^
# This expands to the recipe: zip -r foo/foo.zip foo/bar
不幸的是,这会创建一个包含foo/bar的压缩存档,但我需要它包含bar,也就是说,使存档相对于给定的目
嗨,我正在尝试用openssl版本1.1.0c安装Apache2.4.23,在执行make命令时,我得到了以下错误,我搜索了很多网站,但没有看到任何相关的答案。我附加了错误也.Could,请您解决我的问题?
./configure --prefix=/usr/local/apache2 --with-included-apr --enable-so --with-ssl=/usr/local/openssl --enable-ssl=shared --with-pcre=/usr/local/pcre/
make
ab.o: In function main': /usr/sr
我正在为Openwrt编写一个简单的内核模块。我有工作代码,加载并做它需要做的事情。我遗漏的是如何将代码放入Openwrt的构建过程中。我有一个Makefile,如下所示:
# Copyright (C) 2006-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
我在试着用Chibios。他们提供的示例代码似乎需要stdint.h文件。Makefile提供了以下错误:
/usr/lib/gcc/arm-none-eabi/4.8/include/stdint.h:9:26: fatal error: stdint.h: No such file or directory
# include_next <stdint.h>
^
compilation terminated.
../../os/ports/GCC/ARMCMx/rules.mk:182: recipe for target
我正在尝试理解uboot的第二级makefile (这个makefile位于一个子目录中)
a) What is the difference between $(COBJS:.o=.c) and COBJS := test_main.o
b) What is the meaning of $(call cmd_link_o_target, $(OBJS)). What is the cmd_link_o_target and what is the call statement doing
c) Does this line creating 2 targets ?
ALL
Making all in srclib
make[1]: Entering directory '/root/software/httpd-2.4.51/srclib'
make[1]: Leaving directory '/root/software/httpd-2.4.51/srclib'
Making all in os
make[1]: Entering directory '/root/software/httpd-2.4.51/os'
Making all in unix
make[2]: Entering directory &
我试着用cygwin和THEOS构建一个ios应用
教程:
经过几次尝试,我成功地完成了教程。最后,我只需要运行命令"make package install“
然后我被卡住了..。
CYGWIN终端:
ron_000@Laptop-Ron ~/projects/hello3
$ make package install
/home/ron_000/projects/hello3/theos/makefiles/targets/Cygwin/iphone.mk:38: Deplo
ying to iOS 3.0 while building for 6.0 will generate
我正在尝试交叉编译Openwrt的.c文件。我下载了Openwrt并在包目录中添加了我的文件,并为它创建了Makefile,但是在编译它时却跳过了。我不知道怎么回事
这是Makefile:
*
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=gav
PKG_VERSION:=1
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define Package/gav
SECTION:=utils
CATEGORY:=Base system
TIT
当我试图构建我的go代码时,我得到了一个奇怪的错误。
$ make install
go version go1.16 windows/amd64
bin/check_go_version 1.14.4
plugin/loader/preload.sh > plugin/loader/preload.go
go fmt plugin/loader/preload.go >/dev/null
go install "-asmflags=all='-trimpath=C:\Users\Deepak Dash\go\src'" "-gcflags=
我为我的脚本和编译阶段编写了我自己的openwrt包,我把它放在包文件中,因为这个路径openwrt /feed/ package /路径是否正确?或者,如果是因为编译错误:
make[1]: *** No rule to make target `package/test/compile'. Stop.
make: *** [package/test/compile] Error 2
THis我的Makefile:
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=test
PKG_VERSI
我正在尝试为OpenWrt创建一个libxerces包。按照这个站点的说明,我在packages目录中创建了一个名为libxerces-c的文件夹,并创建了一个简单的Makefile来将该包列在make menuconfig上,但这并没有发生。
Makefile的定义如下:
#
# Copyright (C) 2006-2013 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
inclu
我是OpenWRT的新手,我需要交叉编译c++程序。问题是,我仍然收到这个错误:
error: 'to_string' is not a member of 'std'
"duplicate raw value " + std::to_string(it->first));
^
现在我知道了,问题是在编译过程中没有使用c++11标志。我试图将TARGET_CXXFLAGS添加到Makefile中,但这并没有帮助我。
下面是Makefile:
include $(TOPDIR)/rul
我正在尝试用我在其中制作的自定义包编译OpenWRT。下面是用于我的包的OpenWRT Makefile:
#
# Copyright (C) 2008 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=amld
PKG_RELEASE:=1
include $(INCLUDE_DIR)/packa