bin targets are rebuilt every time

Address an issue where the targets specified in the BINS variable
are rebuilt every time.

Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/rules.mk b/rules.mk
index dec78b8..fcb7b44 100644
--- a/rules.mk
+++ b/rules.mk
@@ -8,18 +8,18 @@
 
 BIN_SUFFIX?=.exe
 
-all: $(BINS)
+all: $(BINS:=$(BIN_SUFFIX))
 
 %.o: %.c
 	$(CC) -c $(ALL_CFLAGS) -o $@ $<
 
-$(BINS): %: %.o $(EXTRA_OBJS)
-	$(CC) $(CFLAGS) $(LDFLAGS) -o $@$(BIN_SUFFIX) $^ $(LDLIBS)
+$(BINS:=$(BIN_SUFFIX)): %$(BIN_SUFFIX): %.o $(EXTRA_OBJS)
+	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
 
-install: $(BINS)
+install: $(BINS:=$(BIN_SUFFIX))
 	@mkdir -p $(DESTDIR)$(sbindir)
-	@for b in $(BINS); do \
-		install $$b$(BIN_SUFFIX) $(DESTDIR)$(sbindir) || exit 1; \
+	@for b in $(BINS:=$(BIN_SUFFIX)); do \
+		install $$b $(DESTDIR)$(sbindir) || exit 1; \
 	done
 
 clean: