hikari wayland compositor (https://hikari.acmelabs.space)

#2Makefile changes to support more general builds

The attached patch to the Makefile makes a few changes that allow the build process to be more configurable and general. In particular, I am packaging Hikari for Void Linux and need these changes to support cross-compilation for multi-arch packages.

The changes are:

  1. Pull ${CFLAGS_EXTRA} and ${LDFLAGS_EXTRA} from the environment, which allows the user to specify additional CFLAGS and LDFLAGS that will be added to the respective CFLAGS and LDFLAGS variables built up by the Makefile. (Setting CFLAGS or LDFLAGS directly on the command line, at least with NetBSD make, would cause make to ignore all of the appends in the Makefile.)

  2. Add ${CFLAGS_EXTRA} and ${LDFLAGS_EXTRA} to the hikari-unlocker build command, so those flags apply when building that target (this is important in Void cross-compilation, because PAM libs and headers will not generally be in /usr/lib or /usr/include and require specification).

  3. Reorder the command-line arguments when building the hikari and hikari-unlocker targets. Some compilers, like GCC, do not properly find symbols from libraries unless the libraries are listed after the source files that reference them. Libraries should always be listed last.

  4. Add a ${DESTDIR} prefix to all install destinations, empty by default, to allow installation into a chroot environment.

  5. Drop the INSTALL_GROUP and associated -g flag to the install commands. Setting a group explicitly is probably not useful, and can either cause breakage or require manual specification for reasonable behavior. (In Void packaging environments, for example, packages are built as an unprivileged user and the default behavior of grabbing the user's primary group is not correct.) Files are executable or readable by all users anyway and writable only by the owner, so specific group ownership accomplishes nothing for access control.

EDIT: Not sure why I can't upload a patch. The contents are pasted below. Sorry for the hacky approach, but I am not a darcs user and don't know of a better way to offer the changes.

EDIT 2: The text field drops formatting, so pasting the patch doesn't work. I'll try zipping the patch to see if that is allowed.

EDIT 3: No good! I've base64 encoded the patch below. Clip everything below '---BEGIN---' and decode to get the patch.

---BEGIN--- LS0tIE1ha2VmaWxlLm9sZAkyMDIwLTA1LTA2IDEyOjQ5OjI0LjAwMDAwMDAwMCAtMDQwMAorKysg TWFrZWZpbGUJMjAyMC0wNS0wNiAwOTowNDo0OS42OTUzNzE3MzEgLTA0MDAKQEAgLTEsNiArMSw1 IEBACiBPUyAhPSB1bmFtZQogVkVSU0lPTiA/PSAiQ1VSUkVOVCIKLUlOU1RBTExfR1JPVVAgIT0g aWQgLWduCiBQUkVGSVggPz0gL3Vzci9sb2NhbAogRVRDX1BSRUZJWCA/PSAke1BSRUZJWH0KIApA QCAtNjIsNiArNjEsMTAgQEAKIC5QSE9OWTogZGlzdGNsZWFuIGNsZWFuIGNsZWFuLWRvYyBkb2Mg ZGlzdCBpbnN0YWxsIHVuaW5zdGFsbAogLlBBVEg6IHNyYwogCisjIEFsbG93IHNwZWNpZmljYXRp b24gb2YgL2V4dHJhLyBDRkxBR1MgYW5kIExERkxBR1MKK0NGTEFHUyArPSAke0NGTEFHU19FWFRS QX0KK0xERkxBR1MgKz0gJHtMREZMQUdTX0VYVFJBfQorCiAuaWZkZWYgREVCVUcKIENGTEFHUyAr PSAtZyAtTzAgLWZzYW5pdGl6ZT1hZGRyZXNzCiAuZWxzZQpAQCAtMTQ3LDcgKzE1MCw3IEBACiAJ ZWNobyAiI2RlZmluZSBISUtBUklfVkVSU0lPTiBcIiR7VkVSU0lPTn1cIiIgPj4gdmVyc2lvbi5o CiAKIGhpa2FyaTogdmVyc2lvbi5oIHhkZy1zaGVsbC1wcm90b2NvbC5oIHdsci1sYXllci1zaGVs bC11bnN0YWJsZS12MS1wcm90b2NvbC5oICR7T0JKU30KLQkke0NDfSAke0xERkxBR1N9ICR7Q0ZM QUdTfSAke0lOQ0xVREVTfSAke0xJQlN9ICR7T0JKU30gLW8gJHsuVEFSR0VUfQorCSR7Q0N9ICR7 TERGTEFHU30gJHtDRkxBR1N9ICR7SU5DTFVERVN9IC1vICR7LlRBUkdFVH0gJHtPQkpTfSAke0xJ QlN9CiAKIHhkZy1zaGVsbC1wcm90b2NvbC5oOgogCXdheWxhbmQtc2Nhbm5lciBzZXJ2ZXItaGVh ZGVyICR7V0FZTEFORF9QUk9UT0NPTFN9L3N0YWJsZS94ZGctc2hlbGwveGRnLXNoZWxsLnhtbCAk ey5UQVJHRVR9CkBAIC0xNTYsNyArMTU5LDcgQEAKIAl3YXlsYW5kLXNjYW5uZXIgc2VydmVyLWhl YWRlciBwcm90b2NvbC93bHItbGF5ZXItc2hlbGwtdW5zdGFibGUtdjEueG1sICR7LlRBUkdFVH0K IAogaGlrYXJpLXVubG9ja2VyOiBoaWthcmlfdW5sb2NrZXIuYwotCSR7Q0N9IC1scGFtIGhpa2Fy aV91bmxvY2tlci5jIC1vIGhpa2FyaS11bmxvY2tlcgorCSR7Q0N9ICR7Q0ZMQUdTX0VYVFJBfSAk e0xERkxBR1NfRVhUUkF9IC1vIGhpa2FyaS11bmxvY2tlciBoaWthcmlfdW5sb2NrZXIuYyAtbHBh bQogCiBjbGVhbi1kb2M6CiAJQHRlc3QgLWUgX2RhcmNzICYmIGVjaG8gImNsZWFuaW5nIG1hbnBh Z2UiIHx8OgpAQCAtMjAzLDE5ICsyMDYsMTkgQEAKIGRpc3Q6IGRpc3RjbGVhbiBoaWthcmktJHtW RVJTSU9OfS50YXIuZ3oKIAogaW5zdGFsbDogaGlrYXJpIGhpa2FyaS11bmxvY2tlciBzaGFyZS9t YW4vbWFuMS9oaWthcmkuMQotCW1rZGlyIC1wICR7UFJFRklYfS9iaW4KLQlta2RpciAtcCAke1BS RUZJWH0vc2hhcmUvbWFuL21hbjEKLQlta2RpciAtcCAke0VUQ19QUkVGSVh9L2V0Yy9oaWthcmkK LQlta2RpciAtcCAke0VUQ19QUkVGSVh9L2V0Yy9wYW0uZAotCWluc3RhbGwgLW0gNDU1NSAtZyAk e0lOU1RBTExfR1JPVVB9IGhpa2FyaSBoaWthcmktdW5sb2NrZXIgJHtQUkVGSVh9L2JpbgotCWlu c3RhbGwgLW0gNjQ0IC1nICR7SU5TVEFMTF9HUk9VUH0gc2hhcmUvbWFuL21hbjEvaGlrYXJpLjEg JHtQUkVGSVh9L3NoYXJlL21hbi9tYW4xCi0JaW5zdGFsbCAtbSA2NDQgLWcgJHtJTlNUQUxMX0dS T1VQfSBldGMvaGlrYXJpL2hpa2FyaS5jb25mICR7RVRDX1BSRUZJWH0vZXRjL2hpa2FyaQotCWlu c3RhbGwgLW0gNjQ0IC1nICR7SU5TVEFMTF9HUk9VUH0gZXRjL3BhbS5kL2hpa2FyaS11bmxvY2tl ci4ke09TfSAke0VUQ19QUkVGSVh9L2V0Yy9wYW0uZC9oaWthcmktdW5sb2NrZXIKKwlta2RpciAt cCAke0RFU1RESVJ9LyR7UFJFRklYfS9iaW4KKwlta2RpciAtcCAke0RFU1RESVJ9LyR7UFJFRklY fS9zaGFyZS9tYW4vbWFuMQorCW1rZGlyIC1wICR7REVTVERJUn0vJHtFVENfUFJFRklYfS9ldGMv aGlrYXJpCisJbWtkaXIgLXAgJHtERVNURElSfS8ke0VUQ19QUkVGSVh9L2V0Yy9wYW0uZAorCWlu c3RhbGwgLW0gNDU1NSBoaWthcmkgaGlrYXJpLXVubG9ja2VyICR7REVTVERJUn0vJHtQUkVGSVh9 L2JpbgorCWluc3RhbGwgLW0gNjQ0IHNoYXJlL21hbi9tYW4xL2hpa2FyaS4xICR7REVTVERJUn0v JHtQUkVGSVh9L3NoYXJlL21hbi9tYW4xCisJaW5zdGFsbCAtbSA2NDQgZXRjL2hpa2FyaS9oaWth cmkuY29uZiAke0RFU1RESVJ9LyR7RVRDX1BSRUZJWH0vZXRjL2hpa2FyaQorCWluc3RhbGwgLW0g NjQ0IGV0Yy9wYW0uZC9oaWthcmktdW5sb2NrZXIuJHtPU30gJHtERVNURElSfS8ke0VUQ19QUkVG SVh9L2V0Yy9wYW0uZC9oaWthcmktdW5sb2NrZXIKIAogdW5pbnN0YWxsOgotCS1ybSAke1BSRUZJ WH0vYmluL2hpa2FyaQotCS1ybSAke1BSRUZJWH0vYmluL2hpa2FyaS11bmxvY2tlcgotCS1ybSAk e1BSRUZJWH0vc2hhcmUvbWFuL21hbjEvaGlrYXJpLjEKLQktcm0gJHtFVENfUFJFRklYfS9ldGMv cGFtLmQvaGlrYXJpLXVubG9ja2VyCi0JLXJtICR7RVRDX1BSRUZJWH0vZXRjL2hpa2FyaS9oaWth cmkuY29uZgotCS1ybWRpciAke0VUQ19QUkVGSVh9L2V0Yy9oaWthcmkKKwktcm0gJHtERVNURElS fS8ke1BSRUZJWH0vYmluL2hpa2FyaQorCS1ybSAke0RFU1RESVJ9LyR7UFJFRklYfS9iaW4vaGlr YXJpLXVubG9ja2VyCisJLXJtICR7REVTVERJUn0vJHtQUkVGSVh9L3NoYXJlL21hbi9tYW4xL2hp a2FyaS4xCisJLXJtICR7REVTVERJUn0vJHtFVENfUFJFRklYfS9ldGMvcGFtLmQvaGlrYXJpLXVu bG9ja2VyCisJLXJtICR7REVTVERJUn0vJHtFVENfUFJFRklYfS9ldGMvaGlrYXJpL2hpa2FyaS5j b25mCisJLXJtZGlyICR7REVTVERJUn0vJHtFVENfUFJFRklYfS9ldGMvaGlrYXJpCg==