aboutsummaryrefslogtreecommitdiff
path: root/src/sman/Makefile.pamphlet
diff options
context:
space:
mode:
Diffstat (limited to 'src/sman/Makefile.pamphlet')
-rw-r--r--src/sman/Makefile.pamphlet145
1 files changed, 145 insertions, 0 deletions
diff --git a/src/sman/Makefile.pamphlet b/src/sman/Makefile.pamphlet
new file mode 100644
index 00000000..db980d94
--- /dev/null
+++ b/src/sman/Makefile.pamphlet
@@ -0,0 +1,145 @@
+%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs.
+\documentclass{article}
+\usepackage{axiom}
+
+\title{\$SPAD/src/sman Makefile}
+\author{Gabriel Dos~Reis \and Timothy Daly}
+
+\begin{document}
+\maketitle
+
+\begin{abstract}
+\end{abstract}
+\eject
+
+\tableofcontents
+\eject
+
+
+\section{Environment variables}
+
+<<environment>>=
+# this is where to put the various commands
+OUT= $(axiom_target_bindir)
+OUTLIB= $(axiom_target_libdir)
+
+# this is where the include files live
+INC= $(axiom_src_srcdir)/include
+
+build_libdir = $(abs_top_builddir)/src/lib
+
+bin_PROGRAMS = session$(EXEEXT) \
+ spadclient$(EXEEXT) \
+ sman$(EXEEXT)
+
+libspad_la = $(axiom_target_libdir)/libspad.la
+
+session_sources = session.c
+session_SOURCES = $(addsuffix .pamphlet, $(session_sources))
+session_objects = $(session_sources:.c=.lo)
+session_LDADD = $(libspad_la) @axiom_c_runtime_extra@
+session_DEPENDENCIES =
+
+spadclient_sources = spadclient.c
+spadclient_objects = $(spadclient_sources:.c=.lo)
+spadclient_LDADD = $(libspad_la) @axiom_c_runtime_extra@
+spadclient_DEPENDENCIES =
+
+sman_sources = sman.c
+sman_SOURCES = $(addsuffix .pamphlet, $(sman_sources))
+sman_objects = $(sman_sources:.c=.lo)
+sman_LDADD = $(libspad_la) @axiom_c_runtime_extra@
+sman_DEPENDENCIES =
+
+
+pamphlets = $(session_SOURCES) $(sman_SOURCES)
+@
+
+\section{session}
+<<session>>=
+${OUTLIB}/session$(EXEEXT): $(session_objects) $(session_DEPENDENCIES)
+ $(LINK) -o $@ $(session_objects) $(session_LDADD) ${LDF}
+@
+
+\section{nagman}
+Note that we do not build the nagman component as we do not have the
+necessary code (for instance, [[callnag]]).
+<<nagman>>=
+${OUT}/nagman$(EXEEXT): $(nagman_objects) $(nagman_DEPENDENCIES)
+ $(LINK) -o $@ $(nagman_objects) $(nagman_LDADD) ${LDF}
+@
+
+\section{spadclient}
+<<spadclient>>=
+${OUTLIB}/spadclient$(EXEEXT): $(spadclient_objects) $(spadclient_DEPENDENCIES)
+ $(LINK) -o $@ $(spadclient_objects) $(spadclient_LDADD) ${LDF}
+
+spadclient.$(OBJEXT): ${INC}/useproto.h ${INC}/spadclient.H1 \
+ $(axiom_configdir)/axiom-c-macros.h
+@
+
+\section{sman}
+<<sman>>=
+${OUT}/sman$(EXEEXT): $(sman_objects) $(sman_DEPENDENCIES)
+ $(LINK) -o $@ $(sman_objects) $(sman_LDADD) ${LDF}
+
+$(sman_objects): sman.h $(axiom_c_macros_h)
+
+sman.h: $(srcdir)/sman.c.pamphlet
+ $(axiom_build_document) --tangle=$@ --output=$@ $<
+@
+
+<<*>>=
+
+subdir = src/sman/
+
+<<environment>>
+
+.PHONY: all all-sman
+
+all: all-ax
+
+all-ax all-sman: stamp
+
+stamp: $(OUTLIB)/session$(EXEEXT) \
+ $(OUTLIB)/spadclient$(EXEEXT) \
+ $(OUT)/sman$(EXEEXT)
+ -rm -f stamp
+ $(STAMP) stamp
+
+.SUFFIXES:
+.SUFFIXES: .c .h .lo .$(OBJEXT)
+.PRECIOUS: %.lo %.obj
+.PRECIOUS: %.c
+.PRECIOUS: %.h
+
+%.lo: %.c
+ $(COMPILE) ${CCF} -o $@ $(axiom_includes) -I$(builddir) $<
+
+%.c: $(srcdir)/%.c.pamphlet
+ $(axiom_build_document) --tangle --output=$@ $<
+
+<<session>>
+
+<<spadclient>>
+
+<<sman>>
+
+mostlyclean-local:
+ @rm -f $(session_sources) $(session_objects) sman.h
+ @rm -f $(spadclient_sources) $(session_objects)
+ @rm -f $(sman_sources) $(sman_objects)
+
+clean-local: mostlyclean-local
+ @rm -f $(OUTLIB)/session$(EXEEXT)
+ @rm -f $(OUTLIB)/spadclient$(EXEEXT)
+ @rm -f $(OUT)/sman$(EXEEXT)
+
+distclean-local: clean-local
+
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}