view anagram/run/DEFS.mk @ 15:f5acaf0c8a29

Don't cast through "volatile int". Causes a gcc warning nowadays. XXX: should put something else back here to frighten the optimizer
author David A. Holland
date Tue, 31 May 2022 01:00:55 -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