summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2016-05-17 23:02:25 +0200
committerFRIGN <dev@frign.de>2016-05-18 10:34:05 +0200
commitc494437937ee01c6d3eb5b630a15e207aae76c25 (patch)
tree1cc20abba300350b3b8add22be703f9b507b792b
parent3d0f4c70385c8ad1dbaad1bb266e644c7109aa6a (diff)
Makefile improvements
- fix: rebuild on source change. - allow to override dependency flag per tool (the ones that have deps). - rebuild on config.mk or headers change.
-rw-r--r--Makefile17
-rw-r--r--config.mk14
2 files changed, 24 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 21b82d9..2177d25 100644
--- a/Makefile
+++ b/Makefile
@@ -11,17 +11,20 @@ MAN5 = farbfeld.5
all: ${BIN}
-png2ff ff2png:
- ${CC} -o $@ ${CFLAGS} ${CPPFLAGS} -L${PNGLIB} -lpng -I${PNGINC} ${LDFLAGS} $@.c
+${BIN}: ${@:=.o}
-jpg2ff ff2jpg:
- ${CC} -o $@ ${CFLAGS} ${CPPFLAGS} -L${JPGLIB} -ljpeg -I${JPGINC} ${LDFLAGS} $@.c
+OBJ = ${SRC:.c=.o}
-.c:
- ${CC} -o $@ ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} $<
+${OBJ}: config.mk ${HDR}
+
+.o:
+ ${CC} ${CFLAGS} ${$*-LDFLAGS} -o $@ $<
+
+.c.o:
+ ${CC} ${CFLAGS} ${$*-CFLAGS} ${CPPFLAGS} -c $<
clean:
- rm -f ${BIN}
+ rm -f ${BIN} ${OBJ}
dist:
rm -rf "farbfeld-${VERSION}"
diff --git a/config.mk b/config.mk
index 4ecba54..5fde97e 100644
--- a/config.mk
+++ b/config.mk
@@ -23,3 +23,17 @@ LDFLAGS = -s ${LIBS}
# compiler and linker
CC = cc
+
+# flags per tool.
+
+png2ff-CFLAGS := -I${PNGINC}
+png2ff-LDFLAGS := -L${PNGLIB} -lpng
+
+ff2png-CFLAGS := -I${PNGINC}
+ff2png-LDFLAGS := -L${PNGLIB} -lpng
+
+jpg2ff-CFLAGS := -I${JPGINC}
+jpg2ff-LDFLAGS := -L${JPGLIB} -ljpeg
+
+ff2jpg-CFLAGS := -I${JPGINC}
+ff2jpg-LDFLAGS := -L${JPGLIB} -ljpeg