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 toolchain
/patch-kernel.sh
$(GDB_DIR
) $(GDB_PATCH_DIR
) \
*.patch
66 $(SED
) '/^ac_subdirs_all/s/ testsuite//g' \
67 -e
'/^subdirs/s/ testsuite//g' $(@D
)/gdb
/configure
68 $(CONFIG_UPDATE
) $(@D
)
69 $(CONFIG_UPDATE
) $(@D
)/readline
/support
72 gdb-source
: $(DL_DIR
)/$(GDB_SOURCE
)
76 ######################################################################
80 ######################################################################
82 GDB_TARGET_DIR
:=$(BUILD_DIR
)/gdb-
$(GDB_VERSION
)-target
84 GDB_TARGET_CONFIGURE_VARS
:= \
85 ac_cv_type_uintptr_t
=yes \
86 gt_cv_func_gettext_libintl
=yes \
87 ac_cv_func_dcgettext
=yes \
88 gdb_cv_func_sigsetjmp
=yes \
89 bash_cv_func_strcoll_broken
=no \
90 bash_cv_must_reinstall_sighandlers
=no \
91 bash_cv_func_sigsetjmp
=present \
92 bash_cv_have_mbstate_t
=yes
94 $(GDB_TARGET_DIR
)/.configured
: THIS_SRCDIR
= $(GDB_DIR
)
95 $(GDB_TARGET_DIR
)/.configured
: $(GDB_DIR
)/.unpacked
96 mkdir
-p
$(GDB_TARGET_DIR
)
97 (cd
$(GDB_TARGET_DIR
); rm -rf config.cache
; \
98 gdb_cv_func_sigsetjmp
=yes \
99 $(AUTO_CONFIGURE_TARGET
) \
102 --without-uiout
$(DISABLE_GDBMI
) \
103 --disable-tui
--disable-gdbtk
--without-x \
104 --disable-sim
--enable-gdbserver \
105 --without-included-gettext \
108 ifeq ($(BR2_ENABLE_LOCALE
),y
)
109 -$(SED
) "s,^INTL *=.*,INTL = -lintl,g;" $(GDB_DIR
)/gdb
/Makefile
113 $(GDB_TARGET_DIR
)/gdb
/gdb
: $(GDB_TARGET_DIR
)/.configured
114 $(MAKE
) -C
$(GDB_TARGET_DIR
)
117 $(TARGET_DIR
)/usr
/bin
/gdb
: $(GDB_TARGET_DIR
)/gdb
/gdb
118 $(INSTALL
) -D
-m
0755 $(GDB_TARGET_DIR
)/gdb
/gdb
$@
119 $(STRIPCMD
) $(STRIP_STRIP_ALL
) $@
121 gdb_target
: ncurses
$(TARGET_DIR
)/usr
/bin
/gdb
123 gdb_target-source
: $(DL_DIR
)/$(GDB_SOURCE
)
126 -$(MAKE
) -C
$(GDB_TARGET_DIR
) clean
127 rm -f
$(TARGET_DIR
)/usr
/bin
/gdb
130 rm -rf
$(GDB_TARGET_DIR
)
132 ######################################################################
136 ######################################################################
138 GDB_SERVER_DIR
:=$(BUILD_DIR
)/gdbserver-
$(GDB_VERSION
)
140 $(GDB_SERVER_DIR
)/.configured
: THIS_SRCDIR
= $(GDB_DIR
)/gdb
/gdbserver
141 $(GDB_SERVER_DIR
)/.configured
: $(GDB_DIR
)/.unpacked
142 mkdir
-p
$(GDB_SERVER_DIR
)
143 (cd
$(GDB_SERVER_DIR
); rm -rf config.cache
; \
144 gdb_cv_func_sigsetjmp
=yes \
145 bash_cv_have_mbstate_t
=yes \
146 $(AUTO_CONFIGURE_TARGET
) \
150 --sbindir
=/usr
/sbin \
151 --libexecdir
=/usr
/lib \
153 --datadir=/usr
/share \
154 --localstatedir
=/var \
155 --mandir=/usr
/share
/man \
156 --infodir=/usr
/share
/info \
157 --includedir=$(STAGING_DIR
)/usr
/include \
159 --without-uiout
$(DISABLE_GDBMI
) \
160 --disable-tui
--disable-gdbtk
--without-x \
161 --without-included-gettext \
165 $(GDB_SERVER_DIR
)/gdbserver
: $(GDB_SERVER_DIR
)/.configured
166 $(MAKE
) -C
$(GDB_SERVER_DIR
)
168 $(TARGET_DIR
)/usr
/bin
/gdbserver
: $(GDB_SERVER_DIR
)/gdbserver
169 ifeq ($(BR2_CROSS_TOOLCHAIN_TARGET_UTILS
),y
)
170 $(INSTALL
) -d
$(STAGING_DIR
)/$(REAL_GNU_TARGET_NAME
)/target_utils
171 $(INSTALL
) -D
-m
0755 $(GDB_SERVER_DIR
)/gdbserver \
172 $(STAGING_DIR
)/$(REAL_GNU_TARGET_NAME
)/target_utils
/gdbserver
174 $(INSTALL
) -D
-m
0755 $(GDB_SERVER_DIR
)/gdbserver
$@
175 $(STRIPCMD
) $(STRIP_STRIP_ALL
) $@
177 gdbserver
: $(TARGET_DIR
)/usr
/bin
/gdbserver
180 -$(MAKE
) -C
$(GDB_SERVER_DIR
) clean
181 rm -f
$(TARGET_DIR
)/usr
/bin
/gdbserver
184 rm -rf
$(GDB_SERVER_DIR
)
186 ######################################################################
190 ######################################################################
192 GDB_HOST_DIR
:=$(TOOL_BUILD_DIR
)/gdbhost-
$(GDB_VERSION
)
194 $(GDB_HOST_DIR
)/.configured
: $(GDB_DIR
)/.unpacked
195 mkdir
-p
$(GDB_HOST_DIR
)
196 (cd
$(GDB_HOST_DIR
); rm -rf config.cache
; \
197 gdb_cv_func_sigsetjmp
=yes \
198 bash_cv_have_mbstate_t
=yes \
199 $(GDB_DIR
)/configure \
200 --prefix=$(STAGING_DIR
) \
201 --build
=$(GNU_HOST_NAME
) \
202 --host
=$(GNU_HOST_NAME
) \
203 --target
=$(REAL_GNU_TARGET_NAME
) \
205 --without-uiout
$(DISABLE_GDBMI
) \
206 --disable-tui
--disable-gdbtk
--without-x \
207 --without-included-gettext \
212 $(GDB_HOST_DIR
)/gdb
/gdb
: $(GDB_HOST_DIR
)/.configured
213 $(MAKE
) -C
$(GDB_HOST_DIR
)
214 strip $(GDB_HOST_DIR
)/gdb
/gdb
216 $(TARGET_CROSS
)gdb
: $(GDB_HOST_DIR
)/gdb
/gdb
217 $(INSTALL
) -D
$(GDB_HOST_DIR
)/gdb
/gdb
$(TARGET_CROSS
)gdb
218 ln
-snf ..
/..
/bin
/$(REAL_GNU_TARGET_NAME
)-gdb \
219 $(STAGING_DIR
)/usr
/$(REAL_GNU_TARGET_NAME
)/bin
/gdb
220 ln
-snf
$(REAL_GNU_TARGET_NAME
)-gdb \
221 $(STAGING_DIR
)/usr
/bin
/$(GNU_TARGET_NAME
)-gdb
223 gdbhost
: $(TARGET_CROSS
)gdb
226 -$(MAKE
) -C
$(GDB_HOST_DIR
) clean
227 rm -f
$(TARGET_CROSS
)gdb
230 rm -rf
$(GDB_HOST_DIR
)
232 #############################################################
234 # Toplevel Makefile options
236 #############################################################
237 ifeq ($(BR2_PACKAGE_GDB
),y
)
241 ifeq ($(BR2_PACKAGE_GDB_SERVER
),y
)
245 ifeq ($(BR2_PACKAGE_GDB_HOST
),y
)
248 ifeq ($(findstring y
,$(BR2_PACKAGE_GDB_SERVER
)$(BR2_PACKAGE_GDB_HOST
)),y
)
249 HOST_SOURCE
+=gdb-source