Makefile improvements - farbfeld - suckless image format with conversion tools
HTML git clone git://git.suckless.org/farbfeld
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit c494437937ee01c6d3eb5b630a15e207aae76c25
DIR parent 3d0f4c70385c8ad1dbaad1bb266e644c7109aa6a
HTML 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