Makefile: various improvements, including POSIX compatibility#3
Open
E5ten wants to merge 1 commit intosabotage-linux:masterfrom
Open
Makefile: various improvements, including POSIX compatibility#3E5ten wants to merge 1 commit intosabotage-linux:masterfrom
E5ten wants to merge 1 commit intosabotage-linux:masterfrom
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add .POSIX: target to specify POSIX make behaviour.$^ in the library generation rules with $ (OBJ).$< in the pkgconfig file's build rule, as $ < is only
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
Remove use of
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.