Add "make gen" target to regenerate em100pro_chips.h

This downloads the Windows release from and extracts
the per-chip data into em100pro_chips.h.  It can be used to refresh
the list when new chip types are added upstream.

"make gen" will be invoked automatically if em100pro_chips.h is
somehow absent, but it will not be invoked during a normal build from
git sources.

TEST=run "make gen"

Change-Id: I703fc8332502d4731645b5c652e5b7cbb24e0e56
Signed-off-by: Kevin Cernekee <>
diff --git a/Makefile b/Makefile
index bdf9722..ddc162e 100644
--- a/Makefile
+++ b/Makefile
@@ -20,21 +20,29 @@
+# This affects the glob sort order for "configs/*.cfg"
+export LANG=C
 em100: em100.c em100pro_chips.h
 	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< \
 		$(shell $(PKG_CONFIG) --cflags --libs libusb-1.0)
+# create generated files (currently just em100pro_chips.h)
+gen: makechips
+	./
+	./makechips configs/*.cfg > em100pro_chips.h.tmp
+	mv -f em100pro_chips.h.tmp em100pro_chips.h
+	$(MAKE) gen
 makechips: makechips.c
 	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $<
-em100pro_chips.h: makechips
-	./
-	./makechips configs/*.cfg > $@
 	rm -f em100
 distclean: clean
 	rm -rf configs makechips
-.PHONY: clean distclean
+.PHONY: gen clean distclean
diff --git a/ b/
index 7fe8872..a837712 100755
--- a/
+++ b/
@@ -49,6 +49,7 @@
 run_unrar $FILE ${FILE%.rar}.msi > /dev/null
 7z x ${FILE%.rar}.msi PRO_* > /dev/null
 echo  Copying...
+rm -rf $WD/configs
 mkdir -p $WD/configs
 for i in PRO_*; do
   cp $i $WD/configs/${i#PRO_}.cfg