Programmer with a wide programming skill set. Started with Basic in the 1990s, current focus: C, suckless programs.
installtarget doesn't seem to create the needed directories. Since
-Dis not passed to install, if, for example, /usr/local/share/man/man5 doesn't exist, all files under .obj/man ending with .5 will be copied to a file /usr/local/share/man/man5, with each install overwriting the contents of that file.
Also, manpages are copied with the mode 655, equal to
rw-r-xr-x, which is very weird. Usually for regular files 644 (=
rw-r--r--) is used, and 755 (=
rwxr-xr-x) for executables and directories.
I propose either using mkdir to create the necessary directories if they don't exist, or passing
-Dto install. If the latter is applied, then the filenames also need to be repeated in the destination argument:
install -Dm644 "$(OBJDIR)/man/cha-config.5" "$(DESTDIR)$(manprefix5)/cha-config.5"