aboutsummaryrefslogtreecommitdiff
path: root/src/sman/Makefile.pamphlet
blob: db980d94c203a4baa301d72d75da61abda9e6280 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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}