Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Makefile: various improvements, including POSIX compatibility #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

E5ten
Copy link

@E5ten E5ten commented May 13, 2020

Add .POSIX: target to specify POSIX make behaviour.
Change directory variables from lowercase to more common uppercase
variants.
Replace GNU make wildcard and sort directives with list of include
files.
Replace install target's dependencies on GNU make specific inference
rules with an install target that just installs all relevant files
itself.
Change GNU make-style inference rule "%.o: %.c" to POSIX make ".c.o:".
Replace use of $^ in the library generation rules with $(OBJ).
Remove use of $< in the pkgconfig file's build rule, as $< is only
specified to be set in inference rules.
Replace usage of install command (or locally provided script) with
POSIX cp and mkdir.
Remove install.sh.
Don't set CC or AR, these are specified by POSIX as set by make when C
development is supported.
Remove call to ranlib, it is non-POSIX, and POSIX specifies ar as
generating the symbol table when invoked with an option that changes the
archive contents, which will always happen as the archive is removed
before ar is called.

Add .POSIX: target to specify POSIX make behaviour.
Change directory variables from lowercase to more common uppercase
variants.
Replace GNU make wildcard and sort directives with list of include
files.
Replace install target's dependencies on GNU make specific inference
rules with an install target that just installs all relevant files
itself.
Change GNU make-style inference rule "%.o: %.c" to POSIX make ".c.o:".
Replace use of $^ in the library generation rules with $(OBJ).
Remove use of $< in the pkgconfig file's build rule, as $< is only
specified to be set in inference rules.
Replace usage of install command (or locally provided script) with
POSIX cp and mkdir.
Remove install.sh.
Don't set CC or AR, these are specified by POSIX as set by make when C
development is supported.
Remove call to ranlib, it is non-POSIX, and POSIX specifies ar as
generating the symbol table when invoked with an option that changes the
archive contents, which will always happen as the archive is removed
before ar is called.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant