Makefile: reorder make targets

Use the order in which the targets get executed.

Change-Id: Ic45c2fc98c679ac7be4ee2860d72b517b8b67a17
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/60836
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72283
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/Makefile b/Makefile
index b106a02..f66fa19 100644
--- a/Makefile
+++ b/Makefile
@@ -886,34 +886,6 @@
 	@+$(MAKE) -C util/ich_descriptors_tool/ HOST_OS=$(HOST_OS) TARGET_OS=$(TARGET_OS)
 endif
 
-$(PROGRAM)$(EXEC_SUFFIX): $(OBJS)
-	$(CC) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(LDFLAGS)
-
-libflashrom.a: $(LIBFLASHROM_OBJS)
-	$(AR) rcs $@ $^
-	$(RANLIB) $@
-
-# TAROPTIONS reduces information leakage from the packager's system.
-# If other tar programs support command line arguments for setting uid/gid of
-# stored files, they can be handled here as well.
-TAROPTIONS = $(shell LC_ALL=C tar --version|grep -q GNU && echo "--owner=root --group=root")
-
-%.o: %.c features
-	$(CC) -MMD $(CFLAGS) $(CPPFLAGS) $(FLASHROM_CFLAGS) $(FEATURE_CFLAGS) $(SCMDEF) -o $@ -c $<
-
-# Make sure to add all names of generated binaries here.
-# This includes all frontends and libflashrom.
-# We don't use EXEC_SUFFIX here because we want to clean everything.
-clean:
-	rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a $(filter-out Makefile.d, $(wildcard *.d *.o)) $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE)
-	@+$(MAKE) -C util/ich_descriptors_tool/ clean
-
-distclean: clean
-	rm -f .libdeps
-
-strip: $(PROGRAM)$(EXEC_SUFFIX)
-	$(STRIP) $(STRIP_ARGS) $(PROGRAM)$(EXEC_SUFFIX)
-
 # to define test programs we use verbatim variables, which get exported
 # to environment variables and are referenced with $$<varname> later
 
@@ -961,6 +933,14 @@
 		echo "  LDFLAGS: $(CONFIG_LIBFTDI1_LDFLAGS)";	\
 	fi
 
+features: hwlibs
+	@echo "Checking for header \"mtd/mtd-user.h\": $(HAS_LINUX_MTD)"
+	@echo "Checking for header \"linux/spi/spidev.h\": $(HAS_LINUX_SPI)"
+	@echo "Checking for header \"linux/i2c-dev.h\": $(HAS_LINUX_I2C)"
+	@echo "Checking for header \"linux/i2c.h\": $(HAS_LINUX_I2C)"
+	@echo "Checking for header \"sys/utsname.h\": $(HAS_UTSNAME)"
+	@echo "Checking for function \"clock_gettime\": $(HAS_CLOCK_GETTIME)"
+
 # If a user does not explicitly request a non-working feature, we should
 # silently disable it. However, if a non-working (does not compile) feature
 # is explicitly requested, we should bail out with a descriptive error message.
@@ -975,13 +955,15 @@
 	@false
 endif
 
-features: hwlibs
-	@echo "Checking for header \"mtd/mtd-user.h\": $(HAS_LINUX_MTD)"
-	@echo "Checking for header \"linux/spi/spidev.h\": $(HAS_LINUX_SPI)"
-	@echo "Checking for header \"linux/i2c-dev.h\": $(HAS_LINUX_I2C)"
-	@echo "Checking for header \"linux/i2c.h\": $(HAS_LINUX_I2C)"
-	@echo "Checking for header \"sys/utsname.h\": $(HAS_UTSNAME)"
-	@echo "Checking for function \"clock_gettime\": $(HAS_CLOCK_GETTIME)"
+%.o: %.c features
+	$(CC) -MMD $(CFLAGS) $(CPPFLAGS) $(FLASHROM_CFLAGS) $(FEATURE_CFLAGS) $(SCMDEF) -o $@ -c $<
+
+$(PROGRAM)$(EXEC_SUFFIX): $(OBJS)
+	$(CC) -o $(PROGRAM)$(EXEC_SUFFIX) $(OBJS) $(LDFLAGS)
+
+libflashrom.a: $(LIBFLASHROM_OBJS)
+	$(AR) rcs $@ $^
+	$(RANLIB) $@
 
 $(PROGRAM).8.html: $(PROGRAM).8
 	@groff -mandoc -Thtml $< >$@
@@ -990,6 +972,19 @@
 	@# Add the man page change date and version to the man page
 	@sed -e 's#.TH FLASHROM 8 .*#.TH FLASHROM 8 "$(MAN_DATE)" "flashrom-stable-$(VERSION)" "$(MAN_DATE)"#' <$< >$@
 
+strip: $(PROGRAM)$(EXEC_SUFFIX)
+	$(STRIP) $(STRIP_ARGS) $(PROGRAM)$(EXEC_SUFFIX)
+
+# Make sure to add all names of generated binaries here.
+# This includes all frontends and libflashrom.
+# We don't use EXEC_SUFFIX here because we want to clean everything.
+clean:
+	rm -f $(PROGRAM) $(PROGRAM).exe libflashrom.a $(filter-out Makefile.d, $(wildcard *.d *.o)) $(PROGRAM).8 $(PROGRAM).8.html $(BUILD_DETAILS_FILE)
+	@+$(MAKE) -C util/ich_descriptors_tool/ clean
+
+distclean: clean
+	rm -f .libdeps
+
 install: $(PROGRAM)$(EXEC_SUFFIX) $(PROGRAM).8
 	mkdir -p $(DESTDIR)$(PREFIX)/sbin
 	mkdir -p $(DESTDIR)$(MANDIR)/man8
@@ -1053,6 +1048,12 @@
 export: _export
 	@echo "Exported $(EXPORTDIR)/$(RELEASENAME)/"
 
+
+# TAROPTIONS reduces information leakage from the packager's system.
+# If other tar programs support command line arguments for setting uid/gid of
+# stored files, they can be handled here as well.
+TAROPTIONS = $(shell LC_ALL=C tar --version|grep -q GNU && echo "--owner=root --group=root")
+
 tarball: _export
 	@tar -cj --format=ustar -f "$(EXPORTDIR)/$(RELEASENAME).tar.bz2" -C $(EXPORTDIR)/ \
 		$(TAROPTIONS) "$(RELEASENAME)/"