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