Tidied header
[dyninst.git] / rtinst / make.module.tmpl
1 #
2 # Common makefile template for rtinst library.  This file is not
3 # intended to be a useful Makefile in isolation; instead, it should be
4 # included from within an architecture-specific Makefile.
5 #
6 # $Id: make.module.tmpl,v 1.14 1997/11/28 21:17:38 wylie Exp $
7 #
8
9 ifndef TARGET
10 TARGET        = libdyninstRT.o
11 ALT_TARGET    = DYNINSTstartCode.o DYNINSTendCode.o RTpvmPiggy.o RTcriticalPath.o
12 endif
13
14 MODCC         = $(CC)
15 MODCFLAGS     = $(CFLAGS)
16
17 SRCS         += ../src/RTinst.c ../src/RTend.c
18 SRCS2        += ../src/RTend.c
19
20 DYNSRCS       = ../src/DYNINSTstartCode.c \
21                 ../src/DYNINSTendCode.c
22
23 ifdef USES_SHM_SAMPLING
24 CFLAGS  += -DSHM_SAMPLING
25 endif
26
27 ifdef USES_LIBDYNINSTRT_SO
28 all: $(TARGET3)
29 else
30 all: $(TARGET) $(TARGET2) $(ALT_TARGET)
31 endif
32
33 #
34 # override standard link rule; libdyninst is not really a library or a program.
35 #
36 UNCOMMON_LINK= true
37
38 OBJS =          $(patsubst %.C, %.o, $(filter %.C,$(notdir $(SRCS)))) \
39                 $(patsubst %.c, %.o, $(filter %.c,$(notdir $(SRCS)))) \
40                 $(patsubst %.s, %.o, $(filter %.s,$(notdir $(SRCS)))) \
41                 $(patsubst %.S, %.o, $(filter %.S,$(notdir $(SRCS)))) \
42                 $(IGEN_GEN_SRCS:%.C=%.o)
43
44 ifndef USES_LIBDYNINSTRT_SO
45 $(TARGET): $(OBJS) $(LIBS)
46         $(LD) $(LDFLAGS) -o $(TARGET) $(OBJS) $(LIBS) -lgcc
47 endif
48
49 #
50 # override standard install rule; provide a default DEST if not already set
51 #
52 ifndef DEST
53 DEST            = $(TO_CORE)/../lib/$(PLATFORM)
54 endif
55
56 UNCOMMON_INSTALL= true
57 ifdef USES_LIBDYNINSTRT_SO
58 install: $(DEST)/$(TARGET3) \
59          $(DEST)/DYNINSTstartCode.o \
60          $(DEST)/DYNINSTendCode.o \
61          $(DEST)/RTpvmPiggy.o
62 else
63 install: $(DEST)/$(TARGET) \
64          $(DEST)/DYNINSTstartCode.o \
65          $(DEST)/DYNINSTendCode.o \
66          $(DEST)/RTpvmPiggy.o
67 endif
68 $(DEST)/libdyninstRT.o:       libdyninstRT.o
69         -cp libdyninstRT.o ../../../lib/$(PLATFORM)
70
71 $(DEST)/libdyninstRT.so.1:       libdyninstRT.so.1
72         -cp libdyninstRT.so.1 ../../../lib/$(PLATFORM)
73
74 $(DEST)/RTpvmPiggy.o: RTpvmPiggy.o
75         -cp RTpvmPiggy.o ../../../lib/$(PLATFORM)
76
77 $(DEST)/DYNINSTstartCode.o: DYNINSTstartCode.o
78         -cp DYNINSTstartCode.o ../../../lib/$(PLATFORM)
79
80 $(DEST)/DYNINSTendCode.o: DYNINSTendCode.o
81         -cp DYNINSTendCode.o ../../../lib/$(PLATFORM)