Added TR_SYNC, which is sent by DYNINSTbreakPoint right after call
[dyninst.git] / rtinst / make.module.tmpl
1
2
3 #
4 # Common makefile template for rtinst library.  This file is not
5 # intended to be a useful Makefile in isolation; instead, it should be
6 # included from within an architecture-specific Makefile.
7 #
8 # $Log: make.module.tmpl,v $
9 # Revision 1.13  1997/08/20 22:23:10  naim
10 # Fixing another problem with my previous commit - naim
11 #
12 # Revision 1.12  1997/08/20 22:09:11  naim
13 # Fixing a small error with my previous commit - naim
14 #
15 # Revision 1.11  1997/08/19 19:51:07  naim
16 # Adding support to dynamically link libdyninstRT by using dlopen on sparc-
17 # solaris - naim
18 #
19 # Revision 1.10  1997/02/26 23:52:05  mjrg
20 # First part of WindowsNT port: divided RTposix.c into two files,
21 # RTinst.c which has all platform independent code and RTposix.c with
22 # unix specific code
23 #
24 # Revision 1.9  1996/10/31 08:03:00  tamches
25 # the shm-sampling commit
26 #
27 # Revision 1.8  1996/07/30 19:02:19  mjrg
28 # Changed libdyninstRT.a to libdyninstRT.o
29 # Link libdyninstRT.o with libgcc
30 #
31 # Revision 1.7  1995/08/30  19:35:56  mjrg
32 # Fixed install for cm5 libraries.
33 #
34 # Revision 1.6  1995/08/29  23:21:44  hollings
35 # Fixed missing UNCOMMON_LINK flag.
36 #
37 # Revision 1.5  1995/08/24  15:12:04  hollings
38 # AIX/SP-2 port (including option for split instruction/data heaps)
39 # Tracing of rexec (correctly spawns a paradynd if needed)
40 # Added rtinst function to read getrusage stats (can now be used in metrics)
41 # Critical Path
42 # Improved Error reporting in MDL sematic checks
43 # Fixed MDL Function call statement
44 # Fixed bugs in TK usage (strings passed where UID expected)
45 #
46 # Revision 1.4  1995/05/30  05:16:03  krisna
47 # moved declaration of LIBS to SunOs Makefile.  we do not use libkvm.a
48 # on Solaris, and it is non-existent on HPUX.
49 #
50 # Revision 1.3  1995/02/21  16:27:55  jcargill
51 # Changes to new build system so rtinst builds for all archs
52 #
53 # Revision 1.2  1995/02/16  09:11:29  markc
54 # Added support for RTfirst.o and RTend.o which mark the beginning and end
55 # of DYNINST code.
56 #
57 # Revision 1.1  1995/01/30  18:30:31  jcargill
58 # Major build system reorganization
59 #
60 #
61
62 ifndef TARGET
63 TARGET        = libdyninstRT.o
64 ALT_TARGET    = DYNINSTstartCode.o DYNINSTendCode.o RTpvmPiggy.o RTcriticalPath.o
65 endif
66
67 MODCC         = $(CC)
68 MODCFLAGS     = $(CFLAGS)
69
70 SRCS         += ../src/RTinst.c ../src/RTend.c
71 SRCS2        += ../src/RTend.c
72
73 DYNSRCS       = ../src/DYNINSTstartCode.c \
74                 ../src/DYNINSTendCode.c
75
76 ifdef USES_SHM_SAMPLING
77 CFLAGS  += -DSHM_SAMPLING
78 endif
79
80 ifdef USES_LIBDYNINSTRT_SO
81 all: $(TARGET3)
82 else
83 all: $(TARGET) $(TARGET2) $(ALT_TARGET)
84 endif
85
86 #
87 # override standard link rule; libdyninst is not really a library or a program.
88 #
89 UNCOMMON_LINK= true
90
91 OBJS =          $(patsubst %.C, %.o, $(filter %.C,$(notdir $(SRCS)))) \
92                 $(patsubst %.c, %.o, $(filter %.c,$(notdir $(SRCS)))) \
93                 $(patsubst %.s, %.o, $(filter %.s,$(notdir $(SRCS)))) \
94                 $(patsubst %.S, %.o, $(filter %.S,$(notdir $(SRCS)))) \
95                 $(IGEN_GEN_SRCS:%.C=%.o)
96
97 ifndef USES_LIBDYNINSTRT_SO
98 $(TARGET): $(OBJS) $(LIBS)
99         $(LD) $(LDFLAGS) -o $(TARGET) $(OBJS) $(LIBS) -lgcc
100 endif
101
102 #
103 # override standard install rule; provide a default DEST if not already set
104 #
105 ifndef DEST
106 DEST            = $(TO_CORE)/../lib/$(PLATFORM)
107 endif
108
109 UNCOMMON_INSTALL= true
110 ifdef USES_LIBDYNINSTRT_SO
111 install: $(DEST)/$(TARGET3) \
112          $(DEST)/DYNINSTstartCode.o \
113          $(DEST)/DYNINSTendCode.o \
114          $(DEST)/RTpvmPiggy.o
115 else
116 install: $(DEST)/$(TARGET) \
117          $(DEST)/DYNINSTstartCode.o \
118          $(DEST)/DYNINSTendCode.o \
119          $(DEST)/RTpvmPiggy.o
120 endif
121 $(DEST)/libdyninstRT.o:       libdyninstRT.o
122         cp libdyninstRT.o ../../../lib/$(PLATFORM)
123
124 $(DEST)/libdyninstRT.so.1:       libdyninstRT.so.1
125         cp libdyninstRT.so.1 ../../../lib/$(PLATFORM)
126
127 $(DEST)/RTpvmPiggy.o: RTpvmPiggy.o
128         cp RTpvmPiggy.o ../../../lib/$(PLATFORM)
129
130 $(DEST)/DYNINSTstartCode.o: DYNINSTstartCode.o
131         cp DYNINSTstartCode.o ../../../lib/$(PLATFORM)
132
133 $(DEST)/DYNINSTendCode.o: DYNINSTendCode.o
134         cp DYNINSTendCode.o ../../../lib/$(PLATFORM)