1 #############################################################
5 #############################################################
7 MPATROL_SOURCE
:=mpatrol_
$(MPATROL_VERSION
).
tar.gz
8 MPATROL_SITE
:=http
://www.cbmamiga.demon.
co.uk
/mpatrol
/files
9 MPATROL_DIR
:=$(BUILD_DIR
)/mpatrol
12 MPATROL_BUILD_DIR
:=$(MPATROL_DIR
)/build
/unix
13 MPATROL_TARGET_BINARY
:=usr
/bin
/mleak
15 # Pick a symbol library to use. We have a choice of GDB BFD, binutils BFD, or libelf.
16 # If one of them is already being built, then use it, otherwise, default to GDB
17 ifeq ($(BR2_PACKAGE_GDB
),y
)
18 MPATROL_SYMBOL_LIBS
:=-L
$(GDB_TARGET_DIR
)/bfd
-lbfd
-L
$(GDB_TARGET_DIR
)/libiberty
-liberty
19 MPATROL_SYMBOL_INCS
:=-I
$(GDB_TARGET_DIR
)/bfd
-I
$(GDB_DIR
)/include -DMP_SYMBOL_LIBS
=
20 MPATROL_SYMBOL_DEPS
:=gdb_target
22 ifeq ($(BR2_PACKAGE_GCC_TARGET
),y
)
23 MPATROL_SYMBOL_LIBS
:=-L
$(BINUTILS_DIR2
)/bfd
-lbfd
-L
$(BINUTILS_DIR2
)/libiberty
-liberty
24 MPATROL_SYMBOL_INCS
:=-I
$(BINUTILS_DIR2
)/bfd
-I
$(BINUTILS_DIR
)/include -DMP_SYMBOL_LIBS
=
25 MPATROL_SYMBOL_DEPS
:=binutils_target
27 ifeq ($(BR2_PACKAGE_LIBELF
),y
)
28 MPATROL_SYMBOL_LIBS
:=-L
$(LIBELF_DIR
)/lib
-lelf
29 MPATROL_SYMBOL_INCS
:=-I
$(STAGING_DIR
)/usr
/include -DFORMAT
=FORMAT_ELF32
-DMP_SYMBOL_LIBS
=
30 MPATROL_SYMBOL_DEPS
:=libelf
31 else # use GDB by default
32 MPATROL_SYMBOL_LIBS
:=-L
$(GDB_TARGET_DIR
)/bfd
-lbfd
-L
$(GDB_TARGET_DIR
)/libiberty
-liberty
33 MPATROL_SYMBOL_INCS
:=-I
$(GDB_TARGET_DIR
)/bfd
-I
$(GDB_DIR
)/include -DMP_SYMBOL_LIBS
=
34 MPATROL_SYMBOL_DEPS
:=gdb_target
39 $(DL_DIR
)/$(MPATROL_SOURCE
):
40 $(WGET
) -P
$(DL_DIR
) $(MPATROL_SITE
)/$(MPATROL_SOURCE
)
42 mpatrol-source
: $(DL_DIR
)/$(MPATROL_SOURCE
)
44 $(MPATROL_DIR
)/.unpacked
: $(DL_DIR
)/$(MPATROL_SOURCE
)
45 $(MPATROL_CAT
) $(DL_DIR
)/$(MPATROL_SOURCE
) |
tar -C
$(BUILD_DIR
) $(TAR_OPTIONS
) -
46 toolchain
/patch-kernel.sh
$(MPATROL_DIR
) package
/mpatrol mpatrol\
*.patch
47 $(SED
) '/LD.*MPTOBJS/s,$$, $$(LDLIBS),' $(MPATROL_BUILD_DIR
)/Makefile
48 $(SED
) '/CFLAGS.*=/s,$$, $$(IFLAGS),' $(MPATROL_BUILD_DIR
)/Makefile
49 touch
$(MPATROL_DIR
)/.unpacked
51 $(MPATROL_BUILD_DIR
)/$(MPATROL_BINARY
): $(MPATROL_DIR
)/.unpacked
52 $(MAKE
) CC
=$(TARGET_CROSS
)gcc AR
=$(TARGET_CROSS
)ar LD
=$(TARGET_CROSS
)gcc \
53 IFLAGS
="-g $(MPATROL_SYMBOL_INCS) -DMP_USE_ATEXIT=1 -DMP_SIGINFO_SUPPORT=1" \
54 LDLIBS
="$(MPATROL_SYMBOL_LIBS)" -C
$(MPATROL_BUILD_DIR
) all
56 $(TARGET_DIR
)/$(MPATROL_TARGET_BINARY
): $(MPATROL_BUILD_DIR
)/$(MPATROL_BINARY
)
57 mkdir
-p
$(TARGET_DIR
)/usr
/lib
58 (cd
$(MPATROL_BUILD_DIR
); \
59 cp
-dpf lib
*.so
* $(TARGET_DIR
)/usr
/lib
; \
60 cp
-dpf mpatrol mprof mptrace mleak
$(TARGET_DIR
)/usr
/bin
)
61 if
[ ! -e
$(TARGET_DIR
)/lib
/libpthread.so
]; then \
62 ln
-sf libpthread.so
.0 $(TARGET_DIR
)/lib
/libpthread.so
; fi
64 cp
-dpf bin
/mp
* bin
/hexwords
$(TARGET_DIR
)/usr
/bin
; \
65 cp
-dpf src
/mp
*.h
$(STAGING_DIR
)/usr
/include; \
66 mkdir
-p
$(STAGING_DIR
)/usr
/include/mpatrol
; \
67 cp
-dpf tools
/*.h
$(STAGING_DIR
)/usr
/include/mpatrol
)
68 touch
$(TARGET_DIR
)/$(MPATROL_TARGET_BINARY
)
70 mpatrol
: uclibc
$(MPATROL_SYMBOL_DEPS
) $(TARGET_DIR
)/$(MPATROL_TARGET_BINARY
)
73 (cd
$(TARGET_DIR
)/usr
/lib
; rm -f libmpatrol
* libmpalloc
*)
74 (cd
$(TARGET_DIR
)/usr
/bin
; \
75 rm -f mpatrol mprof mptrace mleak mpsym mpedit hexwords
)
76 (cd
$(STAGING_DIR
)/usr
/include; \
77 rm -rf mpatrol.h mpalloc.h mpdebug.h mpatrol
)
78 $(MAKE
) -C
$(MPATROL_DIR
)/build
/unix
clobber
84 #############################################################
86 # Toplevel Makefile options
88 #############################################################
89 ifeq ($(BR2_PACKAGE_MPATROL
),y
)