view anagram/run/DEFS.mk @ 21:1c9dac05d040

Add lint-style FALLTHROUGH annotations to fallthrough cases. (in the parse engine and thus the output code) Document this, because the old output causes warnings with gcc10.
author David A. Holland
date Mon, 13 Jun 2022 00:04:38 -0400
parents 13d2b8934445
children
line wrap: on
line source

CHECKSUM=$(BUILDTOP)/checksum/checksum
INSERTSUMS=$(BUILDTOP)/insertsums/insertsums

include $(BUILDTOP)/config.mk
include $(TOP)/mk/installdirs.mk

FILES.nogui=agcl$(EXEEXT)
FILES.hasgui=agcl$(EXEEXT) ag$(EXEEXT)
FILES.noshlib=
FILES.hasshlib=ag1$(AGLIBEXT)


FILES=$(FILES.$(HASGUI)) $(FILES.$(HASSHLIB))

############################################################

all: .stamp.sums

.stamp.sums: sums.dat sums.ctl $(INSERTSUMS)
	@echo -n '        [INSERT]  sums.dat -> '
	@sed < sums.ctl 's/#.*//;s/ .*//;s,.*/,,' | tr '\n' ' '
	@echo
	@$(INSERTSUMS) sums.dat sums.ctl
	@touch .stamp.sums

sums.dat sums.ctl: $(FILES) $(CHECKSUM)
	@rm -f sums.*
	@echo -n '        [SUM]    '
	@if [ $(HASSHLIB) = hasshlib ]; then \
		echo -n ' ag1$(AGLIBEXT)'; \
		$(CHECKSUM) sums ag1 ag1$(AGLIBEXT); \
	 fi
	@if [ $(HASGUI) = hasgui ]; then \
		echo -n ' ag$(EXEEXT)'; \
		$(CHECKSUM) sums ag ag$(EXEEXT); \
	 fi
	@echo -n ' agcl$(EXEEXT)'
	@$(CHECKSUM) sums agcl agcl$(EXEEXT)
	@echo
	@echo '        [BUILDINFO]'
	@echo -n 'Build date:' >> sums.dat
	@date '+%b %d %Y' >> sums.dat
	@echo -n 'Build OS:' >> sums.dat
	@(cat /etc/redhat-release 2>/dev/null || uname -sr; echo) |\
	  sed '2,$$d' >> sums.dat

##############################

ag1$(AGLIBEXT): ../ag1/ag1$(AGLIBEXT)
	@echo '        [CP]      $@'
	@cp ../ag1/ag1$(AGLIBEXT) $@

ag$(EXEEXT): ../ag/ag$(EXEEXT)
	@echo '        [CP]      $@'
	@cp ../ag/ag$(EXEEXT) $@

agcl$(EXEEXT): ../agcl/agcl$(EXEEXT)
	@echo '        [CP]      $@'
	@cp ../agcl/agcl$(EXEEXT) $@

##############################

install.hasshlib:
	@$(TOP)/mk/mkinstalldirs.sh "$(LIBDIR)"
	@echo '        [CP]      ag1$(AGLIBEXT)'
	@cp ag1$(AGLIBEXT) "$(LIBDIR)/ag1$(AGLIBEXT)"
	@chmod 644 "$(LIBDIR)/ag1$(AGLIBEXT)"

install.hasgui:
	@$(TOP)/mk/mkinstalldirs.sh "$(BINDIR)"
	@echo '        [CP]      ag$(EXEEXT)'
	@cp ag$(EXEEXT) "$(BINDIR)/ag$(EXEEXT)"
	@chmod 755 "$(BINDIR)/ag$(EXEEXT)"

install.noshlib install.nogui:;

install: install.$(HASSHLIB) install.$(HASGUI)
	@$(TOP)/mk/mkinstalldirs.sh "$(BINDIR)"
	@echo '        [CP]      agcl$(EXEEXT)'
	@cp agcl$(EXEEXT) "$(BINDIR)/agcl$(EXEEXT)"
	@chmod 755 "$(BINDIR)/agcl$(EXEEXT)"

##############################

rules depend agfiles agclean:;

clean distclean: cleansums
cleansums:
	@echo '        [RM]      $(FILES)'
	@rm -f $(FILES)
	@echo '        [RM]      sums.ctl sums.dat .stamp.sums'
	@rm -f sums.ctl sums.dat .stamp.sums

.PHONY: all rules depend clean distclean cleansums
.PHONY: install install.hasshlib install.noshlib install.hasgui install.nogui