Rename TOOL-LDFLAGS to TOOL-LDLIBS, fix order and add explicit .c.o - farbfeld … | |
git clone git://git.suckless.org/farbfeld | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 031b208cb24addbe4496eb24da6887b43a54f5e1 | |
parent 64083809662501469ce77027b7a60001e88d39f4 | |
Author: Laslo Hunhold <[email protected]> | |
Date: Mon, 1 May 2017 20:29:25 +0200 | |
Rename TOOL-LDFLAGS to TOOL-LDLIBS, fix order and add explicit .c.o | |
The tool-specific flags were LDLIBS and not LDFLAGS, because we specify | |
the libraries we want to link in, not flags to the linker itself. | |
The order was broken as it didn't allow -Wl,--as-needed or other things | |
highly dependent on the order of arguments. | |
I also wanted to add an explicit .c.o suffix rule. This way, it is | |
clearer what is happening in the Makefile and the form of compilation | |
output is controllable. | |
Diffstat: | |
M Makefile | 13 ++++++++----- | |
M config.mk | 4 ++-- | |
2 files changed, 10 insertions(+), 7 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
@@ -11,10 +11,10 @@ SCR = 2ff | |
MAN1 = 2ff.1 $(BIN:=.1) | |
MAN5 = farbfeld.5 | |
-png2ff-LDFLAGS = $(PNG-LDFLAGS) | |
-ff2png-LDFLAGS = $(PNG-LDFLAGS) | |
-jpg2ff-LDFLAGS = $(JPG-LDFLAGS) | |
-ff2jpg-LDFLAGS = $(JPG-LDFLAGS) | |
+png2ff-LDLIBS = $(PNG-LDLIBS) | |
+ff2png-LDLIBS = $(PNG-LDLIBS) | |
+jpg2ff-LDLIBS = $(JPG-LDLIBS) | |
+ff2jpg-LDLIBS = $(JPG-LDLIBS) | |
all: $(BIN) | |
@@ -23,7 +23,10 @@ $(BIN): $(REQ:=.o) | |
$(BIN:=.o): config.mk $(HDR) $(REQ:=.h) | |
.o: | |
- $(CC) -o $@ $< $(REQ:=.o) $($*-LDFLAGS) $(LDFLAGS) | |
+ $(CC) -o $@ $(LDFLAGS) $< $(REQ:=.o) $($*-LDLIBS) | |
+ | |
+.c.o: | |
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $< | |
clean: | |
rm -f $(BIN) $(BIN:=.o) $(REQ:=.o) | |
diff --git a/config.mk b/config.mk | |
@@ -11,8 +11,8 @@ MANPREFIX = ${PREFIX}/man | |
CPPFLAGS = -D_DEFAULT_SOURCE | |
CFLAGS = -std=c99 -pedantic -Wall -Wextra -Os | |
LDFLAGS = -s | |
-PNG-LDFLAGS = -lpng | |
-JPG-LDFLAGS = -ljpeg | |
+PNG-LDLIBS = -lpng | |
+JPG-LDLIBS = -ljpeg | |
# compiler and linker | |
CC = cc |