+ netserv.o
+
+CNFS = conf_gfx.h \
+ conf_snd.h \
+ conf_mus.h \
+ conf_chr.c \
+ conf_chr.h \
+ conf_cus.c \
+ conf_cus.h \
+ conf_grp.c \
+ conf_grp.h \
+ conf_emp.c \
+ conf_emp.h \
+ conf_e2g.c \
+ conf_esg.c \
+ conf_e2s.c \
+ conf_fnt.c \
+ conf_g2s.c \
+ conf_g2m.c \
+ conf_var.c \
+ conf_act.c
+
+CNFS_CMD = ../build-scripts/create_element_defs.pl
+
+TIMESTAMP_FILE = conftime.h
+TIMESTAMP_FORMAT = %Y-%m-%d %H:%M
+
+# use SOURCE_DATE_EPOCH, or else last Git commit date, or else current date
+SOURCE_DATE_EPOCH ?= $(shell test -d ../.git && test `git ls-files -m | wc -l` -eq 0 && git show -s --format=%ct || date +%s)
+
+# get source date string from either GNU / Linux or BSD / Mac OS X style "date"
+SOURCE_DATE_STRING := $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(TIMESTAMP_FORMAT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+$(TIMESTAMP_FORMAT)" 2>/dev/null || date -u "+$(TIMESTAMP_FORMAT)")
+
+COMMIT_HASH_FILE = confhash.h
+COMMIT_HASH_NONE = "[changed files]"
+
+# get last Git commit hash, if no files were changed
+SOURCE_HASH_STRING ?= $(shell test -d ../.git && test `git ls-files -m | wc -l` -eq 0 && git show -s --format=%h || echo "$(COMMIT_HASH_NONE)")
+
+LIBGAME_DIR = libgame
+LIBGAME = $(LIBGAME_DIR)/libgame.a
+
+GAME_EM_DIR = game_em
+GAME_EM = $(GAME_EM_DIR)/game_em.a
+
+GAME_SP_DIR = game_sp
+GAME_SP = $(GAME_SP_DIR)/game_sp.a
+
+GAME_MM_DIR = game_mm
+GAME_MM = $(GAME_MM_DIR)/game_mm.a
+
+RNDLIBS = $(LIBGAME) $(GAME_EM) $(GAME_SP) $(GAME_MM)
+AUTOCONF = conf_gfx.h conf_snd.h conf_mus.h
+
+ICONBASE = windows_icon
+ICON_BASEPATH = ../Special/Icons/windows_icons
+
+ifeq ($(PLATFORM_BASE),cross-win)
+ICON_PATH = $(ICON_BASEPATH)/$(EDITION)
+ICON = $(ICONBASE).o
+endif
+
+GRAPHICS_DIR = ../graphics
+
+
+# -----------------------------------------------------------------------------
+# build targets
+# -----------------------------------------------------------------------------
+
+all: $(AUTOCONF) libgame_dir game_em_dir game_sp_dir game_mm_dir $(PROGNAME) graphics_dir