summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaslo Hunhold <dev@frign.de>2017-05-01 20:29:25 +0200
committerLaslo Hunhold <dev@frign.de>2017-05-01 20:29:25 +0200
commit031b208cb24addbe4496eb24da6887b43a54f5e1 (patch)
tree00736522496ced4238f256aa0c5ec2cd667fe2f8
parent64083809662501469ce77027b7a60001e88d39f4 (diff)
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.
-rw-r--r--Makefile13
-rw-r--r--config.mk4
2 files changed, 10 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index baf2d41..27dc544 100644
--- 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
index 194ab86..67d5448 100644
--- 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