add support for an optional staging directory for debug binaries
SVN-Revision: 14018
This commit is contained in:
		| @@ -106,6 +106,13 @@ config DEBUG | |||||||
| 	help | 	help | ||||||
| 		Disables stripping and adds -g3 to the CFLAGS | 		Disables stripping and adds -g3 to the CFLAGS | ||||||
|  |  | ||||||
|  | config DEBUG_DIR | ||||||
|  | 	bool "Install debugging binaries into a staging directory" | ||||||
|  | 	default n | ||||||
|  | 	help | ||||||
|  | 		This will install all compiled package binaries into build_dir/target-*/debug-*/, | ||||||
|  | 		useful for cross-debugging via gdb/gdbserver | ||||||
|  |  | ||||||
| config NO_STRIP | config NO_STRIP | ||||||
| 	bool "Install unstripped binary on the target (useful for native compiling/debugging)" | 	bool "Install unstripped binary on the target (useful for native compiling/debugging)" | ||||||
| 	default n | 	default n | ||||||
|   | |||||||
							
								
								
									
										26
									
								
								include/package-debug.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								include/package-debug.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | #  | ||||||
|  | # Copyright (C) 2006,2007 OpenWrt.org | ||||||
|  | # | ||||||
|  | # This is free software, licensed under the GNU General Public License v2. | ||||||
|  | # See /LICENSE for more information. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | ifeq ($(DUMP),) | ||||||
|  |   define BuildTarget/debug | ||||||
|  |  | ||||||
|  |     DEBUG_STAMP_$(1) := $(DEBUG_DIR)/stamp/$(1) | ||||||
|  |  | ||||||
|  |     ifdef Package/$(1)/install | ||||||
|  |       ifneq ($(CONFIG_PACKAGE_$(1))$(SDK)$(DEVELOPER),) | ||||||
|  |         compile: $$(DEBUG_STAMP_$(1)) | ||||||
|  |       endif | ||||||
|  |     endif | ||||||
|  |  | ||||||
|  |     $$(DEBUG_STAMP_$(1)): $(PKG_BUILD_DIR)/.built | ||||||
|  | 		mkdir -p $(DEBUG_DIR)/stamp | ||||||
|  | 		$(call Package/$(1)/install,$(DEBUG_DIR)) | ||||||
|  | 		touch $$(DEBUG_STAMP_$(1)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   endef | ||||||
|  | endif | ||||||
| @@ -27,6 +27,7 @@ include $(INCLUDE_DIR)/quilt.mk | |||||||
| include $(INCLUDE_DIR)/package-defaults.mk | include $(INCLUDE_DIR)/package-defaults.mk | ||||||
| include $(INCLUDE_DIR)/package-dumpinfo.mk | include $(INCLUDE_DIR)/package-dumpinfo.mk | ||||||
| include $(INCLUDE_DIR)/package-ipkg.mk | include $(INCLUDE_DIR)/package-ipkg.mk | ||||||
|  | include $(INCLUDE_DIR)/package-debug.mk | ||||||
| include $(INCLUDE_DIR)/package-bin.mk | include $(INCLUDE_DIR)/package-bin.mk | ||||||
| include $(INCLUDE_DIR)/autotools.mk | include $(INCLUDE_DIR)/autotools.mk | ||||||
|  |  | ||||||
| @@ -146,7 +147,7 @@ endif | |||||||
|     $(Dumpinfo), \ |     $(Dumpinfo), \ | ||||||
|     $(foreach target, \ |     $(foreach target, \ | ||||||
|       $(if $(Package/$(1)/targets),$(Package/$(1)/targets), \ |       $(if $(Package/$(1)/targets),$(Package/$(1)/targets), \ | ||||||
|         $(if $(PKG_TARGETS),$(PKG_TARGETS), ipkg ) \ |         $(if $(PKG_TARGETS),$(PKG_TARGETS), ipkg $(if $(CONFIG_DEBUG_DIR),debug)) \ | ||||||
|       ), $(BuildTarget/$(target)) \ |       ), $(BuildTarget/$(target)) \ | ||||||
|     ) \ |     ) \ | ||||||
|   ) |   ) | ||||||
|   | |||||||
| @@ -160,6 +160,7 @@ define Package/base-files$(TARGET)/install | |||||||
| 		$(SED) 's/$$$$/:13848:0:99999:7:::/' $(1)/etc/shadow \ | 		$(SED) 's/$$$$/:13848:0:99999:7:::/' $(1)/etc/shadow \ | ||||||
| 	) | 	) | ||||||
| 	$(SED) 's,$$$$R,$(REVISION),g' $(1)/etc/banner | 	$(SED) 's,$$$$R,$(REVISION),g' $(1)/etc/banner | ||||||
|  | 	mkdir -p $(1)/CONTROL | ||||||
| 	mkdir -p $(1)/dev | 	mkdir -p $(1)/dev | ||||||
| 	mkdir -p $(1)/etc/crontabs | 	mkdir -p $(1)/etc/crontabs | ||||||
| 	mkdir -p $(1)/jffs | 	mkdir -p $(1)/jffs | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								rules.mk
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								rules.mk
									
									
									
									
									
								
							| @@ -64,6 +64,7 @@ PACKAGE_DIR:=$(BIN_DIR)/packages/$(ARCH) | |||||||
| STAMP_DIR:=$(BUILD_DIR)/stamp | STAMP_DIR:=$(BUILD_DIR)/stamp | ||||||
| STAMP_DIR_HOST=$(BUILD_DIR_HOST)/stamp | STAMP_DIR_HOST=$(BUILD_DIR_HOST)/stamp | ||||||
| TARGET_DIR:=$(BUILD_DIR)/root-$(BOARD) | TARGET_DIR:=$(BUILD_DIR)/root-$(BOARD) | ||||||
|  | DEBUG_DIR:=$(BUILD_DIR)/debug-$(BOARD) | ||||||
| IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/ipkg | IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/ipkg | ||||||
|  |  | ||||||
| TARGET_PATH:=$(TOOLCHAIN_DIR)/usr/bin:$(STAGING_DIR_HOST)/bin:$(STAGING_DIR)/host/bin:$(PATH) | TARGET_PATH:=$(TOOLCHAIN_DIR)/usr/bin:$(STAGING_DIR_HOST)/bin:$(STAGING_DIR)/host/bin:$(PATH) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau