view mk/progs.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 bb115deb6fb2
children
line wrap: on
line source

#
# progs.mk - compile multiple programs, in portable make.
#
# Before including, set:
#    SRCS                        sources of programs to build
#    SYNS (optional)             AG syntax files
#    SYNOUTPUTEXT (optional)     output suffix for AG files
#    AGFILEDEST (optional)       destination for AG files ("here" or "srcdir")
#

SYNOUTPUTEXT?=.cpp
AGFILEDEST?=srcdir

include $(BUILDTOP)/config.mk

# beforeall used by: agfile-rules.sh when AGFILEDEST==here
# afterall used by: nobody

all: beforeall doall afterall
beforeall doall afterall:;

# BSD make has .WAIT to make beforeall/afterall work, but gmake doesn't.
.NOTPARALLEL:

TYPE=PROG

include rules.mk
include depend.mk

rules:
	@$(TOP)/mk/include-defs.sh '$(INCDIRS)' > rules.mk
	@$(TOP)/mk/progs-rules.sh '$(SRCS)' >> rules.mk
	@$(TOP)/mk/compile-rules.sh '$(SRCS)' '' >> rules.mk
	@$(TOP)/mk/agfile-rules.sh $(AGFILEDEST) '$(SYNS)' '$(SYNOUTPUTEXT)' \
	    $(MAINTAINER) >> rules.mk
#	@echo '        [RULES]'

depend:
	@echo '        [DEP]'
	@$(MKDEP)

clean:
	@echo '        [RM]      $(CLEANFILES) *~'
	@rm -f $(PROGS) $(CLEANFILES) *~

distclean: clean
	@echo '        [RM]      $(DISTCLEANFILES) *~'
	@rm -f $(DISTCLEANFILES) *~

.PHONY: all rules depend clean distclean