1 ######################################################################
5 ######################################################################
6 ifeq ($(BR2_TOOLCHAIN_SOURCE
),y
)
7 GDB_VERSION
:=$(strip $(subst ",, $(BR2_GDB_VERSION)))
10 GDB_VERSION
:=$(strip $(subst ",, $(BR2_EXT_GDB_VERSION)))
14 ifeq ($(GDB_VERSION
),snapshot
)
15 # Be aware that this changes daily....
16 GDB_SITE
:=ftp
://sources.redhat.com
/pub
/gdb
/snapshots
/current
17 GDB_SOURCE
:=gdb.
tar.bz2
19 GDB_DIR
:=$(TOOL_BUILD_DIR
)/gdb-
$(GDB_VERSION
)
20 GDB_PATCH_DIR
:=toolchain
/gdb
/$(GDB_VERSION
)
24 ifeq ($(BR2_TOOLCHAIN_BUILDROOT
),y
)
25 GDB_SITE
:=$(BR2_GNU_MIRROR
)/gdb
27 GDB_SITE
:=$(VENDOR_SITE
)
30 GDB_OFFICIAL_VERSION
:=$(GDB_VERSION
)$(VENDOR_SUFFIX
)$(VENDOR_GDB_RELEASE
)
32 GDB_SOURCE
:=gdb-
$(GDB_OFFICIAL_VERSION
).
tar.bz2
35 ifeq ($(BR2_TOOLCHAIN_BUILDROOT
),y
)
36 GDB_PATCH_DIR
:=toolchain
/gdb
/$(GDB_OFFICIAL_VERSION
)
38 GDB_PATCH_DIR
:=$(VENDOR_PATCH_DIR
)/gdb-
$(GDB_OFFICIAL_VERSION
)
41 GDB_DIR
:=$(TOOL_BUILD_DIR
)/gdb-
$(GDB_OFFICIAL_VERSION
)
43 # NOTE: This option should not be used with gdb versions 6.4 and above.
44 ifeq ($(GDB_VERSION
),6.2.1)
45 DISABLE_GDBMI
:=--disable-gdbmi
48 ifeq ($(GDB_VERSION
),6.3)
49 DISABLE_GDBMI
:=--disable-gdbmi
53 $(DL_DIR
)/$(GDB_SOURCE
):
54 $(WGET
) -P
$(DL_DIR
) $(GDB_SITE
)/$(GDB_SOURCE
)
56 gdb-unpacked
: $(GDB_DIR
)/.unpacked
57 $(GDB_DIR
)/.unpacked
: $(DL_DIR
)/$(GDB_SOURCE
)
58 mkdir
-p
$(TOOL_BUILD_DIR
)
59 $(GDB_CAT
) $(DL_DIR
)/$(GDB_SOURCE
) |
tar -C
$(TOOL_BUILD_DIR
) $(TAR_OPTIONS
) -
60 ifeq ($(GDB_VERSION
),snapshot
)
61 GDB_REAL_DIR
=$(shell \
62 tar jtf
$(DL_DIR
)/$(GDB_SOURCE
) | head
-1 | cut
-d
"/" -f1
)
63 ln
-sf
$(TOOL_BUILD_DIR
)/$(shell tar jtf
$(DL_DIR
)/$(GDB_SOURCE
) | head
-1 | cut
-d
"/" -f1
) $(GDB_DIR
)
65 if
[ -d
$(GDB_PATCH_DIR
) ]; then \
66 toolchain
/patch-kernel.sh
$(GDB_DIR
) $(GDB_PATCH_DIR
) \
*.patch
; \
68 $(SED
) '/^ac_subdirs_all/s/ testsuite//g' \
69 -e
'/^subdirs/s/ testsuite//g' $(@D
)/gdb
/configure
70 $(CONFIG_UPDATE
) $(@D
)
71 $(CONFIG_UPDATE
) $(@D
)/readline
/support
74 gdb-source
: $(DL_DIR
)/$(GDB_SOURCE
)
78 ######################################################################
82 ######################################################################
84 GDB_TARGET_DIR
:=$(BUILD_DIR
)/gdb-
$(GDB_VERSION
)-target
86 GDB_TARGET_CONFIGURE_VARS
:= \
87 ac_cv_type_uintptr_t
=yes \
88 gt_cv_func_gettext_libintl
=yes \
89 ac_cv_func_dcgettext
=yes \
90 gdb_cv_func_sigsetjmp
=yes \
91 bash_cv_func_strcoll_broken
=no \
92 bash_cv_must_reinstall_sighandlers
=no \
93 bash_cv_func_sigsetjmp
=present \
94 bash_cv_have_mbstate_t
=yes
96 $(GDB_TARGET_DIR
)/.configured
: THIS_SRCDIR
= $(GDB_DIR
)
97 $(GDB_TARGET_DIR
)/.configured
: $(GDB_DIR
)/.unpacked
98 mkdir
-p
$(GDB_TARGET_DIR
)
99 (cd
$(GDB_TARGET_DIR
); rm -rf config.cache
; \
100 gdb_cv_func_sigsetjmp
=yes \
101 $(AUTO_CONFIGURE_TARGET
) \
104 --without-uiout
$(DISABLE_GDBMI
) \
105 --disable-tui
--disable-gdbtk
--without-x \
106 --disable-sim
--enable-gdbserver \
107 --without-included-gettext \
110 ifeq ($(BR2_ENABLE_LOCALE
),y
)
111 -$(SED
) "s,^INTL *=.*,INTL = -lintl,g;" $(GDB_DIR
)/gdb
/Makefile
115 $(GDB_TARGET_DIR
)/gdb
/gdb
: $(GDB_TARGET_DIR
)/.configured
116 $(MAKE
) -C
$(GDB_TARGET_DIR
)
119 $(TARGET_DIR
)/usr
/bin
/gdb
: $(GDB_TARGET_DIR
)/gdb
/gdb
120 $(INSTALL
) -D
-m
0755 $(GDB_TARGET_DIR
)/gdb
/gdb
$@
121 $(STRIPCMD
) $(STRIP_STRIP_ALL
) $@
123 gdb_target
: ncurses
$(TARGET_DIR
)/usr
/bin
/gdb
125 gdb_target-source
: $(DL_DIR
)/$(GDB_SOURCE
)
128 -$(MAKE
) -C
$(GDB_TARGET_DIR
) clean
129 rm -f
$(TARGET_DIR
)/usr
/bin
/gdb
132 rm -rf
$(GDB_TARGET_DIR
)
134 ######################################################################
138 ######################################################################
140 GDB_SERVER_DIR
:=$(BUILD_DIR
)/gdbserver-
$(GDB_VERSION
)
142 $(GDB_SERVER_DIR
)/.configured
: THIS_SRCDIR
= $(GDB_DIR
)/gdb
/gdbserver
143 $(GDB_SERVER_DIR
)/.configured
: $(GDB_DIR
)/.unpacked
144 mkdir
-p
$(GDB_SERVER_DIR
)
145 (cd
$(GDB_SERVER_DIR
); rm -rf config.cache
; \
146 gdb_cv_func_sigsetjmp
=yes \
147 bash_cv_have_mbstate_t
=yes \
148 $(AUTO_CONFIGURE_TARGET
) \
152 --sbindir
=/usr
/sbin \
153 --libexecdir
=/usr
/lib \
155 --datadir=/usr
/share \
156 --localstatedir
=/var \
157 --mandir=/usr
/share
/man \
158 --infodir=/usr
/share
/info \
159 --includedir=$(STAGING_DIR
)/usr
/include \
161 --without-uiout
$(DISABLE_GDBMI
) \
162 --disable-tui
--disable-gdbtk
--without-x \
163 --without-included-gettext \
167 $(GDB_SERVER_DIR
)/gdbserver
: $(GDB_SERVER_DIR
)/.configured
168 $(MAKE
) -C
$(GDB_SERVER_DIR
)
170 $(TARGET_DIR
)/usr
/bin
/gdbserver
: $(GDB_SERVER_DIR
)/gdbserver
171 ifeq ($(BR2_CROSS_TOOLCHAIN_TARGET_UTILS
),y
)
172 $(INSTALL
) -d
$(STAGING_DIR
)/$(REAL_GNU_TARGET_NAME
)/target_utils
173 $(INSTALL
) -D
-m
0755 $(GDB_SERVER_DIR
)/gdbserver \
174 $(STAGING_DIR
)/$(REAL_GNU_TARGET_NAME
)/target_utils
/gdbserver
176 $(INSTALL
) -D
-m
0755 $(GDB_SERVER_DIR
)/gdbserver
$@
177 $(STRIPCMD
) $(STRIP_STRIP_ALL
) $@
179 gdbserver
: $(TARGET_DIR
)/usr
/bin
/gdbserver
182 -$(MAKE
) -C
$(GDB_SERVER_DIR
) clean
183 rm -f
$(TARGET_DIR
)/usr
/bin
/gdbserver
186 rm -rf
$(GDB_SERVER_DIR
)
188 ######################################################################
192 ######################################################################
194 GDB_HOST_DIR
:=$(TOOL_BUILD_DIR
)/gdbhost-
$(GDB_VERSION
)
196 $(GDB_HOST_DIR
)/.configured
: $(GDB_DIR
)/.unpacked
197 mkdir
-p
$(GDB_HOST_DIR
)
198 (cd
$(GDB_HOST_DIR
); rm -rf config.cache
; \
199 gdb_cv_func_sigsetjmp
=yes \
200 bash_cv_have_mbstate_t
=yes \
201 $(GDB_DIR
)/configure \
202 --prefix=$(STAGING_DIR
) \
203 --build
=$(GNU_HOST_NAME
) \
204 --host
=$(GNU_HOST_NAME
) \
205 --target
=$(REAL_GNU_TARGET_NAME
) \
207 --without-uiout
$(DISABLE_GDBMI
) \
208 --disable-tui
--disable-gdbtk
--without-x \
209 --without-included-gettext \
214 $(GDB_HOST_DIR
)/gdb
/gdb
: $(GDB_HOST_DIR
)/.configured
215 $(MAKE
) -C
$(GDB_HOST_DIR
)
216 strip $(GDB_HOST_DIR
)/gdb
/gdb
218 $(TARGET_CROSS
)gdb
: $(GDB_HOST_DIR
)/gdb
/gdb
219 $(INSTALL
) -D
$(GDB_HOST_DIR
)/gdb
/gdb
$(TARGET_CROSS
)gdb
220 ln
-snf ..
/..
/bin
/$(REAL_GNU_TARGET_NAME
)-gdb \
221 $(STAGING_DIR
)/usr
/$(REAL_GNU_TARGET_NAME
)/bin
/gdb
222 ln
-snf
$(REAL_GNU_TARGET_NAME
)-gdb \
223 $(STAGING_DIR
)/usr
/bin
/$(GNU_TARGET_NAME
)-gdb
225 gdbhost
: $(TARGET_CROSS
)gdb
228 -$(MAKE
) -C
$(GDB_HOST_DIR
) clean
229 rm -f
$(TARGET_CROSS
)gdb
232 rm -rf
$(GDB_HOST_DIR
)
234 #############################################################
236 # Toplevel Makefile options
238 #############################################################
239 ifeq ($(BR2_PACKAGE_GDB
),y
)
243 ifeq ($(BR2_PACKAGE_GDB_SERVER
),y
)
247 ifeq ($(BR2_PACKAGE_GDB_HOST
),y
)
250 ifeq ($(findstring y
,$(BR2_PACKAGE_GDB_SERVER
)$(BR2_PACKAGE_GDB_HOST
)),y
)
251 HOST_SOURCE
+=gdb-source