commit 031b208cb24addbe4496eb24da6887b43a54f5e1
parent 64083809662501469ce77027b7a60001e88d39f4
Author: Laslo Hunhold <dev@frign.de>
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:
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