From 96bd50edc990887084da254dc78f9c4657d2c76e Mon Sep 17 00:00:00 2001 From: "Dmitrij D. Czarkoff" Date: Sun, 27 Dec 2015 12:33:38 +0100 Subject: Drop "obj" target It was introduced to make object files depend on $(BUILDDIR) so that creating it could be moved into separate rule, executed once. That was a bad idea, because "obj" had to be phony, thus making all targets that depend on it obsolete between runs of make. This change introduces order-only rule that makes object files depend on $(BUILDDIR) without obsoleting other targets. --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index a979d65..0768a7f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: imv obj clean check install uninstall +.PHONY: imv clean check install uninstall PREFIX ?= /usr BINPREFIX ?= $(PREFIX)/bin @@ -26,14 +26,14 @@ CFLAGS += -DIMV_VERSION=\"$(VERSION)\" imv: $(TARGET) -$(TARGET): obj +$(TARGET): $(OBJECTS) @echo "LINKING $@" - $(MUTE)$(CC) -o $@ $(OBJECTS) $(LDLIBS) $(LDFLAGS) + $(MUTE)$(CC) -o $@ $^ $(LDLIBS) $(LDFLAGS) debug: CFLAGS += -DDEBUG -g -pg debug: $(TARGET) -obj: $(BUILDDIR) $(OBJECTS) +$(OBJECTS): | $(BUILDDIR) $(BUILDDIR): $(MUTE)mkdir -p $(BUILDDIR) -- cgit v1.2.3