Nikolay Shaplov <dhyan@nataraj.su> writes:
> If you do
> mkdir [source]
> git clone git://git.postgresql.org/git/postgresql.git [source]
> mkdir build; cd build
> ../\[source\]/configure
> make
> you will get
> make[1]: *** No rule to make target 'generated-headers'. Stop.
> If there are no "[]" in the path to the source, everything is OK.
It's generally quite unwise to use shell meta-characters in
file or directory names. I give you one example:
$ ls ../[source]
COPYRIGHT README.git contrib/
GNUmakefile.in aclocal.m4 doc/
HISTORY config/ meson.build
Makefile configure* meson_options.txt
README configure.ac src/
$ ls ../[source]/*.ac
ls: ../[source]/*.ac: No such file or directory
This is expected behavior (I leave it as an exercise for the
student to figure out why).
While it might be possible to make the Postgres build scripts
proof against funny characters in the build paths, the effort
required would be far out of proportion to the value. Not least
because manual operations in such a file tree would misbehave
often enough to convince you to change, even if the scripts were
all water-tight.
regards, tom lane