+subjects.html := $(addprefix info.html/, $(addsuffix .html, $(subjects)))
+topics.html := $(addprefix info.html/, $(addsuffix .html, $(topics)))
+scripts := $(srcdir)/src/scripts
+depcomp := $(SHELL) $(srcdir)/depcomp
+tarball := $(SHELL) -e $(scripts)/tarball
+econfig := $(sysconfdir)/empire/econfig
+schedule := $(sysconfdir)/empire/schedule
+gamedir := $(localstatedir)/empire
+builtindir := $(datadir)/empire/builtin
+einfodir := $(datadir)/empire/info.nr
+ehtmldir := $(datadir)/empire/info.html
+client/w32 := arpa/inet.h netdb.h netinet/in.h sys/time.h sys/socket.h \
+sys/uio.h unistd.h w32io.c w32sockets.c w32types.h
+
+# Abbreviate make output
+# Run make with a V=1 parameter for full output.
+ifneq ($(origin V),command line)
+V:=
+endif
+# $(call quiet-command COMMAND,ABBREV) runs COMMAND, but prints only ABBREV.
+# Recursively expanded so that variables in COMMAND and ABBREV work.
+ifneq ($V$(findstring s,$(MAKEFLAGS)),)
+quiet-command = $1
+else
+quiet-command = @echo $2 && $1
+endif
+
+# How to substitute Autoconf output variables
+# Recursively expanded so that $@ and $< work.
+subst.in = sed \
+ -e 's?@configure_input\@?$(notdir $@): Generated from $(notdir $<) by make.?g' \
+ -e 's?@builtindir\@?$(builtindir)?g' \
+ -e 's?@econfig\@?$(econfig)?g' \
+ -e 's?@einfodir\@?$(einfodir)?g' \
+ -e 's?@gamedir\@?$(gamedir)?g' \
+ -e 's/@EMPIREHOST\@/$(EMPIREHOST)/g' \
+ -e 's/@EMPIREPORT\@/$(EMPIREPORT)/g'