When installing into a normal system, one can assume that target directories, such as /usr/bin, already exists. But when installing into a subdirectory for the purpose of creating a package, one cannot assume that all directories already exist. Therefore, when installing, we must not check if any directories exist, and must instead always create any directories we want to install into.
* Makefile (confdir/mandos.conf, confdir/clients.conf, install-html): Use the "-D" option to "install" instead of creating the directory separately. (install-server): Move creation of $(CONFDIR) down to before it is needed. Don't check if the $(TMPFILES) or $(SYSUSERS) directories exist; instead create them by using the "-D" option to "install". Create the $(PREFIX)/sbin directory. Always use "--target-directory" if possible; i.e. if the file name is the same. Create the $(DBUSPOLICYDIR) and $(DESTDIR)/etc/init.d directories by using the "-D" option to "install". Don't check if the $(SYSTEMD) directory exists; instead create it by using the "-D" option to "install". Create the $(DESTDIR)/etc/default and $(MANDIR)/man8 directories by using the "-D" option to "install". Create the $(MANDIR)/man5 directories explicitly. (install-client-nokey): Remove unnecessary creation of the $(CONFDIR) directory. Don't check if the $(SYSUSERS) directory exists; instead create it by using the "-D" option to "install". Move the "--directory" argument to be the first argument, for clarity. Create the $(PREFIX)/sbin directory. Use the "-D" argument to "install" when installing $(INITRAMFSTOOLS)/hooks/mandos, $(INITRAMFSTOOLS)/conf.d/mandos-conf, $(INITRAMFSTOOLS)/conf-hooks.d/zz-mandos, $(INITRAMFSTOOLS)/scripts/init-premount/mandos, $(INITRAMFSTOOLS)/scripts/local-premount/mandos, $(DRACUTMODULE)/ask-password-mandos.path, and $(DRACUTMODULE)/dracut-module/ask-password-mandos.service. Create the $(MANDIR)/man8 directory.
Reported-By: Erich Eckner <erich@eckner.net> Thanks: Erich Eckner <erich@eckner.net> for analysis