Fix for (1) power deadlock problem due to incorrect lock implementation. We now use...
[dyninst.git] / dyninstAPI_RT / rs6000-ibm-aix5.1 / Makefile
1 #
2 # $Id: Makefile,v 1.12 2008/02/20 08:31:08 jaw Exp $
3 #
4
5 # Define any symbols needed to invoke configuration changes in make.config
6
7 USES_SHM_SAMPLING = true
8
9 # We set the permissions of the runtime library as 640
10 OVERRIDE_INSTALL = true
11 DEBUG_FLAG = -g
12
13 # AIX: libraries end in .a
14 TARGET = libdyninstAPI_RT.a
15 TARGET_SYMLINK = libdyninstAPI_RT.so.1
16
17 # Include standard make configuration stuff that applies to everything
18 # in the paradyn tree.
19
20 include               ../../make.config
21
22 CFLAGS  += -Wa,-mppc
23 #CFLAGS += -DDEBUG_PRINT_RT     # enable debug/trace messages from library
24 #CFLAGS += -DUSE_PROF
25 ASFLAGS += -I../..
26
27 SRCS  += ../src/RTposix.c \
28         ../src/RTaix.c \
29         ../src/RTheap.c \
30         ../src/RTheap-aix.c \
31         ../src/RTthread-power-asm.s \
32         ../src/RTthread-power.c\
33         ../src/RTthread-index.c \
34         ../src/RTthread.c
35 #       ../src/RTmutatedBinary.c \
36 #       ../src/RTmutatedBinary_XCOFF.c \
37
38 # Build and link the library text heap
39 ifdef USES_LIB_TEXT_HEAP
40 EXTRA_LIBS = libDyninstText.a
41 CFLAGS  += -DUSES_LIB_TEXT_HEAP
42 LDFLAGS += -L. -lDyninstText
43 endif
44
45 LDFLAGS +=-Wl,-bM:SRE -Wl,-bexpall -Wl,-bnoobjreorder -lc -Wl,-bgcbypass:5
46 #-Wl,-bnosymbolic
47 #-Wl,-brtl 
48 #-Wl,-bnortllib -Wl,-bnosymbolic
49
50 #erok, rtl, nortllib, nosymbolic, noautoexp == -G
51
52 # Include the module-specific Makefile, which defines everything about
53 # the module that is common across architectures.
54
55 include ../make.module.tmpl
56
57 # Include the "standard program template".  This defines all the
58 # common targets like "clean", "install", etc.
59
60 include ../../make.library.tmpl
61
62 # If we're not using the native compiler, use gcc as a linker
63 ifdef USES_NATIVE_CC
64 LD              = $(LINKER) 
65 LDFLAGS         += -bnoobjreorder -bexpall -bnoentry  -lc
66 # Initialization method
67 LDFLAGS         += -binitfini:libdyninstAPI_RT_init
68
69 libDyninstText.a: space.o
70 #       rm -f libSpace.o 
71 #       rm -f libDyninstText.a 
72         ld -o space_lib.o -bexpall -bnoentry -bM:SRE space.o 
73         ar crv libDyninstText.a space_lib.o 
74         rm -f space_lib.o
75 #       rm -f space.o
76
77
78 else
79 # GCC
80 CC = gcc
81 LD              = $(GCC) -shared
82 # Initialization method
83 LDFLAGS         += -Wl,-binitfini:libdyninstAPI_RT_init
84
85 libDyninstText.a: space.o
86         gcc -shared -o libDyninstText.a space.o
87
88 endif
89
90
91 libDyninstAPI_RT.so.1: libDyninstText.a
92 # ... and uses default AIX link line
93
94 RTthread-power-asm.o:
95         $(GCC) -c $(CFLAGS) ../src/RTthread-power-asm.s
96
97 space.o: 
98         $(GCC) -c -o space.o ../src/libSpace.s
99
100 install: install_generic libDyninstText.a
101         -chmod 640 $(DEST)/$(TARGET)
102         -$(CP) libDyninstText.a $(DEST)
103         -chmod 755 $(DEST)/libDyninstText.a
104         -ln -sf $(TARGET) $(DEST)/$(TARGET_SYMLINK)