1115013Smarcel# Makefile for IPF unwind express library, libuwx.
2115013Smarcel#
3115013Smarcel# To build a cross-unwind library (i.e., one hosted on a
4115013Smarcel# non-IPF, non-HP-UX system), omit the "self" callbacks
5115013Smarcel# and the dependency on libuca by setting SELFOBJS and
6115013Smarcel# SELFLIBS to empty strings.
7115013Smarcel
8115013SmarcelAR = ar
9115013SmarcelRANLIB = :
10115013Smarcel
11120925SmarcelOTHERCFLAGS =
12117392Smarcel# OTHERCFLAGS = -DUWX_TRACE_ENABLE	# Enables trace output
13115013Smarcel# OTHERCFLAGS = +DD64			# Builds 64-bit library
14115013Smarcel
15120925SmarcelCFLAGS = -O $(OTHERCFLAGS)
16115013Smarcel
17115013SmarcelOBJS =		uwx_bstream.o uwx_context.o uwx_env.o uwx_scoreboard.o \
18160157Smarcel		uwx_step.o uwx_str.o uwx_swap.o uwx_symbols.o \
19160157Smarcel		uwx_trace.o uwx_uinfo.o uwx_utable.o
20115013Smarcel
21115013Smarcel# SELFOBJS =				# For cross-unwind library
22160157Smarcel# SELFOBJS = 	uwx_self.o uwx_self_context.o uwx_ttrace.o
23160157SmarcelSELFOBJS = 	uwx_self.o uwx_self_context.o
24115013Smarcel
25115013Smarcel# SELFLIBS =				# For cross-unwind library
26115013SmarcelSELFLIBS =	-luca
27115013Smarcel
28115013Smarcellibuwx.a:	$(OBJS) $(SELFOBJS)
29115013Smarcel	$(AR) rv libuwx.a $?
30115013Smarcel	$(RANLIB) libuwx.a
31115013Smarcel
32115013Smarcellibuwx.so:	$(OBJS) $(SELFOBJS)
33115013Smarcel	ld -b -o libuwx.so $(OBJS) $(SELFOBJS) $(SELFLIBS)
34115013Smarcel
35115013Smarcellibuwx.sl:	$(OBJS) $(SELFOBJS)
36115013Smarcel	ld -b -o libuwx.sl $(OBJS) $(SELFOBJS) $(SELFLIBS)
37115013Smarcel
38160157Smarcelclean:
39160157Smarcel	rm -f $(OBJS) $(SELFOBJS) libuwx.a libuwx.so libuwx.sl
40160157Smarcel
41115013Smarceluwx_bstream.o:	uwx.h uwx_env.h uwx_bstream.h
42115013Smarcel
43120925Smarceluwx_context.o:	uwx.h uwx_env.h uwx_scoreboard.h uwx_step.h uwx_trace.h
44115013Smarcel
45115013Smarceluwx_env.o:	uwx.h uwx_env.h uwx_scoreboard.h uwx_str.h uwx_trace.h
46115013Smarcel
47115013Smarceluwx_scoreboard.o: uwx.h uwx_env.h uwx_scoreboard.h uwx_trace.h
48115013Smarcel
49115013Smarceluwx_step.o:	uwx.h uwx_env.h uwx_context.h uwx_utable.h \
50115013Smarcel		uwx_uinfo.h uwx_scoreboard.h uwx_str.h uwx_trace.h
51115013Smarcel
52115013Smarceluwx_str.o:	uwx.h uwx_env.h uwx_str.h
53115013Smarcel
54115013Smarceluwx_swap.o:	uwx.h uwx_env.h uwx_swap.h
55115013Smarcel
56160157Smarceluwx_symbols.o:	uwx.h uwx_env.h uwx_symbols.h
57160157Smarcel
58115013Smarceluwx_trace.o:	uwx.h uwx_env.h uwx_uinfo.h uwx_scoreboard.h uwx_trace.h
59115013Smarcel
60115013Smarceluwx_uinfo.o:	uwx.h uwx_env.h uwx_uinfo.h uwx_utable.h \
61115013Smarcel		uwx_scoreboard.h uwx_bstream.h uwx_trace.h
62115013Smarcel
63115013Smarceluwx_utable.o:	uwx.h uwx_env.h uwx_utable.h uwx_swap.h uwx_trace.h
64115013Smarcel
65160157Smarceluwx_self.o:	uwx.h uwx_env.h uwx_context.h uwx_trace.h uwx_self.h \
66160157Smarcel		uwx_symbols.h
67115013Smarcel
68115013Smarceluwx_self_context.o:	uwx_self_context.s
69115013Smarcel	$(CC) -c $(CFLAGS) -o uwx_self_context.o uwx_self_context.s
70115013Smarcel
71115013Smarceluwx_ttrace.o:	uwx.h uwx_env.h uwx_context.h uwx_trace.h uwx_ttrace.h
72