Mercurial > ~dholland > hg > ag > index.cgi
diff mk/prog.mk @ 0:13d2b8934445
Import AnaGram (near-)release tree into Mercurial.
author | David A. Holland |
---|---|
date | Sat, 22 Dec 2007 17:52:45 -0500 |
parents | |
children | bb115deb6fb2 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mk/prog.mk Sat Dec 22 17:52:45 2007 -0500 @@ -0,0 +1,58 @@ +# +# prog.mk - compile a program, in portable make. +# +# Before including, set: +# PROG program to build +# SRCS sources +# RCFILES (optional) Windows resource files +# 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: none + +all: beforeall doall afterall +beforeall doall afterall:; + +# BSD make has .WAIT to make beforeall/afterall work, but gmake doesn't. +.NOTPARALLEL: + +doall: $(PROG)$(EXEEXT) +TYPE=PROG + +include rules.mk +include depend.mk + +$(PROG)$(EXEEXT): $(OBJS) $(RESFILES) $(MYLIBS) + @echo ' [DEP]' + @$(MKDEP) + @echo ' [LINK] $@' + @$(LDCC) $(LDFLAGS) $(OBJS) $(RESFILES) $(MYLIBS) $(LIBS) -o $@ + +rules: + @$(TOP)/mk/include-defs.sh '$(INCDIRS)' > rules.mk + @$(TOP)/mk/compile-rules.sh '$(SRCS)' '$(RCFILES)' >> rules.mk + @$(TOP)/mk/agfile-rules.sh $(AGFILEDEST) '$(SYNS)' '$(SYNOUTPUTEXT)' \ + >> rules.mk +# @echo ' [RULES]' + +depend: + @echo ' [DEP]' + @$(MKDEP) + +clean: + @echo ' [RM] $(PROG)$(EXEEXT) $(CLEANFILES) *~' + @rm -f $(PROG)$(EXEEXT) $(CLEANFILES) *~ + +distclean: clean + @echo ' [RM] $(DISTCLEANFILES) *~' + @rm -f $(DISTCLEANFILES) *~ + +.PHONY: all rules depend clean distclean