如何在Linux中创建makefile目录链接?

时间:2015-06-12 14:39:55

标签: linux makefile ln

我的makefile包含以下代码。

ddd :
    @mkdir -p /full/path_new/to/new_dir
    @ln -fs /full/path_old/to/old_dir/private /full/path_new/to/new_dir/private

Linux ln命令在目录taget和parent中创建链接。这意味着我有:

/full/path_new/to/new_dir:
private -> /full/path_old/to/old_dir/private

但也有旧的链接

/full/path_old/to/old_dir/private
private -> /full/path_old/to/old_dir/private

这导致我有类似

的东西
/full/path_old/to/old_dir/private/private/private/private (...) endless

我应该如何使用ln命令只在new_dir中建立链接?

2 个答案:

答案 0 :(得分:1)

您需要在创建之前删除现有链接:

ddd :
        @mkdir -p /full/path_new/to/new_dir
        @rm -f /full/path_new/to/new_dir/private
        @ln -fs /full/path_old/to/old_dir/private /full/path_new/to/new_dir/private

答案 1 :(得分:0)

假设一个干净的平板,执行此操作的正确方法是创建一个目标,该目标知道它正在创建哪个依赖项,并且如果它已存在则避免创建它。

ddd: /full/path_new/to/new_dir/private
/full/path_new/to/new_dir/private:
    mkdir -p /full/path_new/to/new_dir
    ln -s /full/path/to/old_dir/private /full/path_new/to/new_dir