Restructuring for greater homogeneity and support for conditional builds
[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.15 1998/04/01 02:33:04 wylie Exp $
7 #
8
9 ifndef TARGET
10 ifndef USES_LIBDYNINSTRT_SO
11 TARGET          = libdyninstRT.o
12 else
13 TARGET          = libdyninstRT.so.1
14 endif
15 ifdef INCLUDE_CP_PROFILING
16 TARGET2         = libdyninstCP.o
17 CP_OBJS         = RTpvmPiggy.o RTcriticalPath.o
18 endif
19 ifdef BUILD_CODE_BLOCKS        
20 ALT_TARGET      = DYNINSTstartCode.o DYNINSTendCode.o 
21 endif
22 endif
23
24 MODCC         = $(CC)
25 MODCFLAGS     = $(CFLAGS)
26
27 SRCS         += ../src/RTinst.c ../src/RTend.c
28
29 ifdef USES_SHM_SAMPLING
30 CFLAGS  += -DSHM_SAMPLING
31 endif
32
33 ifdef USES_LIBDYNINSTRT_SO
34 all: $(TARGET) $(TARGET2) 
35 else
36 all: $(TARGET) $(TARGET2) $(ALT_TARGET)
37 endif
38
39 #
40 # override standard link rule; libdyninst is not really a library or a program.
41 #
42 UNCOMMON_LINK = true
43
44 OBJS =          $(patsubst %.C, %.o, $(filter %.C,$(notdir $(SRCS)))) \
45                 $(patsubst %.c, %.o, $(filter %.c,$(notdir $(SRCS)))) \
46                 $(patsubst %.s, %.o, $(filter %.s,$(notdir $(SRCS)))) \
47                 $(patsubst %.S, %.o, $(filter %.S,$(notdir $(SRCS)))) \
48                 $(IGEN_GEN_SRCS:%.C=%.o)
49
50 #ifndef USES_LIBDYNINSTRT_SO
51 #$(TARGET): $(OBJS) $(LIBS)
52 #       $(LD) $(LDFLAGS) -o $(TARGET) $(OBJS) $(LIBS) -lgcc
53 #endif
54
55 #
56 # override standard install rule; provide a default DEST if not already set
57 #
58 ifndef DEST
59 DEST            = $(TO_CORE)/$(LIBRARY_DEST)
60 endif
61
62 INSTOBJS        = $(DEST)/$(TARGET)
63 ifdef BUILD_CODE_BLOCKS
64 INSTOBJS        += $(DEST)/DYNINSTstartCode.o $(DEST)/DYNINSTendCode.o
65 endif
66 ifdef INCLUDE_CP_PROFILING
67 INSTOBJS        += $(DEST)/RTpvmPiggy.o $(DEST)/$(TARGET2)
68 endif
69
70 UNCOMMON_INSTALL = true
71
72 install: $(INSTOBJS)
73
74 $(DEST)/$(TARGET):       $(TARGET)
75         -$(CP) $(TARGET) $(DEST)
76
77 $(DEST)/$(TARGET2):       $(TARGET2)
78         -$(CP) $(TARGET2) $(DEST)
79
80 $(DEST)/RTpvmPiggy.o: RTpvmPiggy.o
81         -$(CP) RTpvmPiggy.o $(DEST)
82
83 $(DEST)/DYNINSTstartCode.o: DYNINSTstartCode.o
84         -$(CP) DYNINSTstartCode.o $(DEST)
85
86 $(DEST)/DYNINSTendCode.o: DYNINSTendCode.o
87         -$(CP) DYNINSTendCode.o $(DEST)