Make and last modification times of directories on Linux

前端 未结 3 2027
花落未央
花落未央 2021-01-24 16:08

Consider the following makefile:

foo :
    mkdir foo

foo/a.out : foo a.in
    cp a.in foo/a.out

foo/b.out : foo b.in
    cp b.in foo/b.out

an

3条回答
  •  醉话见心
    2021-01-24 16:38

    As an authority on Make recently pointed out:

    "The one thing you must NEVER do is use a directory as a simple prerequisite. The rules the filesystem uses to update the modified time on directories do not work well with make."

    But I think this will do what you want:

    foo :
        mkdir foo
    
    foo/a.out : a.in | foo
        cp a.in foo/a.out
    
    foo/b.out : b.in | foo
        cp b.in foo/b.out
    

提交回复
热议问题