summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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