diff mk/hostprog.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/hostprog.mk	Sat Dec 22 17:52:45 2007 -0500
@@ -0,0 +1,51 @@
+#
+# hostprog.mk - build a program on the cross-compile host, in portable make.
+#
+# Before including, set:
+#    PROG                        program to build
+#    SRCS                        sources
+#    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: none
+# afterall used by: none
+
+all: beforeall doall afterall
+beforeall afterall:;
+doall: $(PROG)
+
+# BSD make has .WAIT to make beforeall/afterall work, but gmake doesn't.
+.NOTPARALLEL:
+
+include rules.mk
+include depend.mk
+
+$(PROG)$(HOST_EXEEXT): $(OBJS)
+	@echo '        [DEP]'
+	@$(HOST_MKDEP)
+	@echo '        [LINK]    $(PROG)$(HOST_EXEEXT)'
+	@$(HOST_LDCC) $(HOST_LDFLAGS) $(OBJS) $(HOST_LIBS) -o $@
+
+rules:
+	@$(TOP)/mk/hostprog-rules.sh '$(SRCS)' > rules.mk
+	@$(TOP)/mk/agfile-rules.sh $(AGFILEDEST) '$(SYNS)' '$(SYNOUTPUTEXT)' \
+	    >> rules.mk
+#	@echo '        [RULES]'
+
+depend:
+	@echo '        [DEP]'
+	@$(HOST_MKDEP)
+
+clean distclean:
+	@echo '        [RM]      $(PROG)$(HOST_EXEEXT) $(HOST_CLEANFILES) *~'
+	@rm -f $(PROG)$(HOST_EXEEXT) $(HOST_CLEANFILES) *~
+
+.PHONY: all depend clean distclean
+.PHONY: beforeall doall afterall