.POSIX:

include config.mk

PACKAGE_NAME_NO_VERSION = ami-1700
PNNV                    = $(PACKAGE_NAME_NO_VERSION)
PACKAGE_NAME            = $(PACKAGE_NAME_NO_VERSION)-$(VERSION)
DISTRIBUTION_FILENAME   = $(PACKAGE_NAME).tar.gz

DB_FILES = \
ami-1700-xn.db \
ami-1700.db

RQS_FILES = \
ami-1700_settings.req

ADL_FILES = \
ami-1700-cfg.adl \
ami-1700-x2.adl \
ami-1700.adl

EXAMPLE_FILES = \
auto_settings-example.req \
medm-screen-example.sh \
st-example.cmd

DISTRIBUTION_FILES = \
CHANGELOG.md \
LICENSE.md \
Makefile \
README.md \
ami_1700_sim.rb \
ami_1700_test.rb \
config.mk \
st-ami-1700-test.cmd \
$(DB_FILES) \
$(RQS_FILES) \
$(ADL_FILES) \
$(EXAMPLE_FILES)

all: # No-op

check:
	@awk '                                                             \
	  /^file {$$/ { in_file = 1; }                                     \
	  /^}$$/ { in_file = 0; in_display = 0; }                          \
	  /^[ \t]+name="/ {                                                \
	    if (in_file == 1) {                                            \
	      print "Pathname in file section:", FILENAME, $$0;            \
	    }                                                              \
	  }                                                                \
	  /^display {$$/ { in_display = 1; }                               \
	  /^[ \t]+object {$$/ {                                            \
	    if (in_display == 1) in_display_object = 1;                    \
	  }                                                                \
	  /^[ \t]+}$$/ {                                                   \
	    if (in_display_object == 1) in_display_object = 0;             \
	  }                                                                \
	  /^[ \t]+[xy]=[0-9]+/ {                                           \
	    if (in_display_object == 1 && match($$0, /[xy]=100$$/) == 0) { \
	    print "Nonstandard display location:", FILENAME, $$0;          \
	    }                                                              \
	  }                                                                \
	' $(ADL_FILES)

install:
	mkdir -p $(DESTDIR)$(LIBDIR)/$(PNNV)/db
	$(INSTALL_DATA) $(DB_FILES) $(DESTDIR)$(LIBDIR)/$(PNNV)/db
	$(INSTALL_DATA) $(RQS_FILES) $(DESTDIR)$(LIBDIR)/$(PNNV)/db
	mkdir -p $(DESTDIR)$(LIBDIR)/$(PNNV)/op/adl
	$(INSTALL_DATA) $(ADL_FILES) $(DESTDIR)$(LIBDIR)/$(PNNV)/op/adl
	mkdir -p $(DESTDIR)$(EXAMPLESDIR)/$(PNNV)
	$(INSTALL_DATA) $(EXAMPLE_FILES) $(DESTDIR)$(EXAMPLESDIR)/$(PNNV)

clean: # No-op

dist: \
$(DISTRIBUTION_FILENAME)

$(DISTRIBUTION_FILENAME): \
$(DISTRIBUTION_FILES)
	mkdir -p .dist/$(PACKAGE_NAME)
	$(INSTALL) -m 0644 $(DISTRIBUTION_FILES) .dist/$(PACKAGE_NAME)
	$(GTAR) -czv --numeric-owner --owner=0 --group=0 -C .dist \
	  -f .dist/$(DISTRIBUTION_FILENAME) $(PACKAGE_NAME)
	mv -f .dist/$(DISTRIBUTION_FILENAME) .
	rm -rf .dist

distclean:
	rm -rf .dist
	rm -f $(PACKAGE_NAME_NO_VERSION)-*.tar.gz
