Linux makefile不';无法正确导入路径
我有一个简单的Makefile。由于某些原因,我没有正确导入路径: 以下是我在终端中运行Linux makefile不';无法正确导入路径,linux,makefile,build,ubuntu-14.04,Linux,Makefile,Build,Ubuntu 14.04,我有一个简单的Makefile。由于某些原因,我没有正确导入路径: 以下是我在终端中运行echo$PATH时得到的结果 /home/someuser/myfs/opt/petalinux-v2016.2-final/tools/common/petalinux/bin:/home/someuser/myfs/opt/pkg/petalinux-v2016.2-final/tools/linux-i386/petalinux/bin:/home/someuser/pituser/petalinux
echo$PATH
时得到的结果
/home/someuser/myfs/opt/petalinux-v2016.2-final/tools/common/petalinux/bin:/home/someuser/myfs/opt/pkg/petalinux-v2016.2-final/tools/linux-i386/petalinux/bin:/home/someuser/pituser/petalinux-v2016.2-final/tools/common/petalinux/bin:/home/someuser/myfs/opt/pkg/petalinux-2016.2-2016.2-microblaze-elf/bin:/home/someuser/myfs/opt/pkg/petalinux-v2016.2-final/tools/linux-i386/microblazeel xilinx linux gnu/bin:/home/someuser/myfs/opt/pkg/petalinux-v2016.2-final/tools/linux-i386/gcc arm none eabi/bin:/home/someuser/myfs/opt/pkg/petalinux/petalinux-v2016.2-final/tools/linux-i386/gcc arm linux-gnueabi/bin:/home/someuser/myfs/opt/pkg/petalinux-i386/aarch64非elf/bin:/home/someuser/myfs/opt/pkg/petalinux-v2016.2-final/tools/linux-i386/aarch64 linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games:/usr/local/games
以下是运行make
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
有人知道发生了什么事吗
Makefile
在下面,这是我的系统描述
uname -a
4.4.0-72-generic #93~14.04.1-Ubuntu SMP Fri Mar 31 15:05:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
Makefile
.PHONY: linux bootimage fsbl dts build-dts
all: linux bootimage
dts: build-dts package bootimage
rootfs: build-rootfs package bootimage
fsbl:
petalinux-build -c bootloader
clean:
echo $(PATH)
petalinux-build -x distclean
linux:
petalinux-build
build-dts:
petalinux-build -c device-tree
build-rootfs:
petalinux-build -c rootfs
package:
petalinux-build -x package
bootimage:
petalinux-package --boot --force --fsbl ${BOOT_FSBL_IMAGE} --fpga ${BOOT_BIT_IMAGE} --u-boot=${BOOT_UBOOT_IMAGE} -o ${BOOT_IMAGE}
这是我运行make时得到的路径
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
在这里,make文件没有运行程序所需的路径文件
最简单的导出方法是在makefile中这样做
导出路径:=bin:$(路径)
也许是这样的。
export PATH := $(shell pwd)/bin:$(PATH)
target:
mkdir -p ./bin
export PATH
echo $(PATH)
或者另一种方法是导出所有path变量,并将其添加到~/.bashrc中,完成后显式设置
您可以使用“:”追加更多路径,将此行添加到~/.bashrc
export PATH=$PATH:~/your/bin1:~/your/bin2
在环境路径中附加更多路径的示例:
export PATH=/opt/bin:/usr/local/bin:/usr/contrib/bin:/bin:/usr/bin:/usr/sbin:/usr/bin/X11
我想你误解了我的问题。我试图理解为什么
make
没有正确地将PATH
导入到它的环境中?我的环境PATH
看起来与make
显示的环境完全不同。我的问题是为什么