I am trying to say "the download of the git repository will only work if the directory yank/ exists. If the directory yank/ does not exist then make it"
yank/gist.el/gist.el : yank
cd yank ; git clone http://github.com/defunkt/gist.el.git
yank:
mkdir yank
I am using makepp - http://makepp.sf.net and am getting the error:
[metaperl@andLinux ~/edan/pkg/gist.el] makepp
makepp: Loading makefile `/home/metaperl/edan/pkg/gist.el/Makeppfile'
makepp: Entering directory `/home/metaperl/edan/pkg/gist.el'
mkdir yank
mkdir: cannot create directory `yank': File exists
makepp: error: Failed to build target `/home/metaperl/edan/pkg/gist.el/yank' [1]
makepp: 0 files updated, 0 phony targets built and 1 target failed
[metaperl@andLinux ~/edan/pkg/gist.el]
But why would it try to make the yank directory if it exists? The "source" has already ben created...
Yes, a Makefile
can have a directory as target.
Your problem could be that the cd
doesn't do what you want: it does cd
and the git clone
is carried out in the original directory (the one you cd
ed from, not the one you cd
ed to). This is because for every command in the Makefile
an extra shell is created. A workaround is to run cd
and clone as one command with the shell's &&
.
This should work:
bla/f: dir
cd dir && touch f
dir:
mkdir dir