Makefile improvements - farbfeld - suckless image format with conversion tools
(HTM) git clone git://git.suckless.org/farbfeld
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit c494437937ee01c6d3eb5b630a15e207aae76c25
(DIR) parent 3d0f4c70385c8ad1dbaad1bb266e644c7109aa6a
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Tue, 17 May 2016 23:02:25 +0200
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.
Diffstat:
M Makefile | 17 ++++++++++-------
M config.mk | 14 ++++++++++++++
2 files changed, 24 insertions(+), 7 deletions(-)
---
(DIR) diff --git 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}"
(DIR) diff --git 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