From http://www.jwz.org/xscreensaver/xscreensaver-5.40.tar.gz
[xscreensaver] / hacks / images / Makefile
index 942e7f9949aa9fbe18b7dd033f90f60e1d7ee06e..9f3d47c8b831031ee2e313f6c5dac6f3875da88d 100644 (file)
@@ -1,11 +1,17 @@
-# hacks/images/Makefile --- xscreensaver, Copyright (c) 2018 Jamie Zawinski.
+# hacks/images/Makefile.in --- xscreensaver, Copyright (c) 2018 Jamie Zawinski.
+# the `../configure' script generates `hacks/images/Makefile' from this file.
+
 
 srcdir         = .
-UTILS_SRC      = $(srcdir)/../../utils
+VPATH          = ${srcdir} ${srcdir}/bubbles ${srcdir}/m6502 \
+                 ${srcdir}/molecules ${srcdir}/noseguy
+top_srcdir     = ../..
+UTILS_SRC      = $(top_srcdir)/utils
 RM             = rm -f
 
 STAR           = *
 TARFILES       = Makefile \
+                 Makefile.in \
                  $(STAR).png \
                  $(STAR).gif \
                  $(STAR)/$(STAR).png \
@@ -14,21 +20,23 @@ TARFILES    = Makefile \
                  $(STAR)/$(STAR).pov \
                  $(STAR)/$(STAR).txt \
 
-default:: all
-
-all::
-       @if [ ! -d gen ]; then mkdir gen ; fi
-       @for f in *.png */*.png ; do                                    \
-         f2=`echo "$$f" |                                              \
-             sed -e 's@^.*/@@'                                         \
-                 -e 's@^\(.*\)\.\([^./]*\)$$@gen/\1_\2.h@'` ;          \
-         if [ ! -f "$$f2" -o "$$f" -nt "$$f2" ]; then                  \
-           echo $(UTILS_SRC)/bin2c "$$f" "$$f2" ;                      \
-                $(UTILS_SRC)/bin2c "$$f" "$$f2" ;                      \
-         fi ;                                                          \
-       done
-
-clean::
+PNG_HDRS       = $(shell find $(srcdir) -name \*.png | \
+                   sed 's@^.*/\(.*\)\.\(png\)$$@gen/\1_\2.h@')
+
+default: all
+
+all: gen $(PNG_HDRS)
+
+gen:
+       mkdir gen
+
+# %.png dependency below works because VPATH contains subdirs
+# of 'images' dir not only 'images' itself
+gen/%_png.h: %.png
+       echo $(UTILS_SRC)/bin2c "$<" "$@"
+       $(UTILS_SRC)/bin2c "$<" "$@"
+
+clean:
        $(RM) -r gen
 
 echo_tarfiles: