【发布时间】:2012-01-04 07:39:40
【问题描述】:
我正在为 Ubuntu 制作一个简单的游戏并更新高分列表,它在运行时需要一个名为“highscores.bin”的文件。
我想把这个文件放在
/home/(USER)/.game_name
我进行了一些研究,发现从 Makefile 中我可以获取环境变量 $USER。 因此,在 Makefile 中,在“安装”目标处,我添加了:
mkdir -p $(DESTDIR)home/$$USER/.game_name
但是当我运行“sudo make install”时,Makefile 将其安装为:
/home/root/.game_name
如何在 Makefile 中获取(非 root)用户名?
P.S.:我正在手动编写 Makefile。没有./configure
P.S.2:我不想做
mkdir -p ~/.game_name
因为如果我想安装到临时目录,我希望能够更改 DESTDIR。
【问题讨论】:
-
值得指出的是,不能保证给定用户的主目录会位于
/home/username(例如root的主目录通常是/root) - 使用@987654328改为@环境变量。 -
为什么在谷歌上这么难找到?缺乏对这种特定情况的讨论令人担忧。
标签: linux makefile installation home-directory