| ############################################################# |
| # |
| # dmalloc |
| # |
| ############################################################# |
| DMALLOC_VERSION:=5.4.3 |
| DMALLOC_SOURCE:=dmalloc-$(DMALLOC_VERSION).tgz |
| DMALLOC_SITE:=http://dmalloc.com/releases |
| DMALLOC_DIR:=$(BUILD_DIR)/dmalloc-$(DMALLOC_VERSION) |
| DMALLOC_CAT:=$(ZCAT) |
| DMALLOC_BINARY:=dmalloc |
| DMALLOC_TARGET_BINARY:=usr/bin/dmalloc |
| |
| $(DL_DIR)/$(DMALLOC_SOURCE): |
| $(call DOWNLOAD,$(DMALLOC_SITE),$(DMALLOC_SOURCE)) |
| |
| dmalloc-source: $(DL_DIR)/$(DMALLOC_SOURCE) |
| |
| $(DMALLOC_DIR)/.unpacked: $(DL_DIR)/$(DMALLOC_SOURCE) |
| $(DMALLOC_CAT) $(DL_DIR)/$(DMALLOC_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - |
| toolchain/patch-kernel.sh $(DMALLOC_DIR) package/dmalloc dmalloc\*.patch |
| $(SED) 's/^ac_cv_page_size=0$$/ac_cv_page_size=12/' $(DMALLOC_DIR)/configure |
| $(SED) 's/(ld -/($${LD-ld} -/' $(DMALLOC_DIR)/configure |
| $(SED) 's/'\''ld -/"$${LD-ld}"'\'' -/' $(DMALLOC_DIR)/configure |
| -$(SED) 's/ar cr/$$(AR) cr/' $(DMALLOC_DIR)/Makefile.in |
| touch $@ |
| |
| ifeq ($(BR2_INSTALL_LIBSTDCPP),y) |
| DMALLOC_CONFIG_ARGS:=--enable-cxx |
| else |
| DMALLOC_CONFIG_ARGS:=--disable-cxx |
| endif |
| |
| ifeq ($(BR2_PTHREADS_NONE),y) |
| DMALLOC_CONFIG_ARGS+=--disable-threads |
| else |
| DMALLOC_CONFIG_ARGS+=--enable-threads |
| endif |
| |
| |
| |
| $(DMALLOC_DIR)/.configured: $(DMALLOC_DIR)/.unpacked |
| (cd $(DMALLOC_DIR); rm -rf config.cache; \ |
| $(TARGET_CONFIGURE_OPTS) \ |
| $(TARGET_CONFIGURE_ARGS) \ |
| CFLAGS="-g" \ |
| LDFLAGS="-g" \ |
| ./configure $(QUIET) \ |
| --target=$(GNU_TARGET_NAME) \ |
| --host=$(GNU_TARGET_NAME) \ |
| --build=$(GNU_HOST_NAME) \ |
| --prefix=/usr \ |
| --exec-prefix=/usr \ |
| --bindir=/usr/bin \ |
| --sbindir=/usr/sbin \ |
| --libdir=/lib \ |
| --libexecdir=/usr/lib \ |
| --sysconfdir=/etc \ |
| --datadir=/usr/share \ |
| --localstatedir=/var \ |
| --includedir=/usr/include \ |
| --mandir=/usr/man \ |
| --infodir=/usr/info \ |
| --enable-shlib \ |
| $(DMALLOC_CONFIG_ARGS) \ |
| ) |
| touch $@ |
| |
| $(DMALLOC_DIR)/$(DMALLOC_BINARY): $(DMALLOC_DIR)/.configured |
| $(MAKE) -C $(DMALLOC_DIR) |
| |
| $(TARGET_DIR)/$(DMALLOC_TARGET_BINARY): $(DMALLOC_DIR)/$(DMALLOC_BINARY) |
| # both DESTDIR and PREFIX are ignored.. |
| $(MAKE) includedir="$(STAGING_DIR)/usr/include" \ |
| bindir="$(STAGING_DIR)/usr/bin" \ |
| libdir="$(STAGING_DIR)/usr/lib" \ |
| shlibdir="$(STAGING_DIR)/usr/lib" \ |
| includedir="$(STAGING_DIR)/usr/share/info/" \ |
| -C $(DMALLOC_DIR) install |
| (cd $(STAGING_DIR)/usr/lib; \ |
| mv libdmalloc*.so $(TARGET_DIR)/usr/lib) |
| cp -dpf $(STAGING_DIR)/usr/bin/dmalloc $(TARGET_DIR)/$(DMALLOC_TARGET_BINARY) |
| $(STRIPCMD) $(STRIP_STRIP_ALL) $(TARGET_DIR)/$(DMALLOC_TARGET_BINARY) |
| |
| dmalloc: $(TARGET_DIR)/$(DMALLOC_TARGET_BINARY) |
| |
| dmalloc-clean: |
| -rm -f $(TARGET_DIR)/usr/lib/libdmalloc* |
| -rm -f $(STAGING_DIR)/usr/lib/libdmalloc* |
| rm -f $(STAGING_DIR)/usr/include/dmalloc.h |
| rm -f $(TARGET_DIR)/$(DMALLOC_TARGET_BINARY) |
| -$(MAKE) -C $(DMALLOC_DIR) clean |
| |
| dmalloc-dirclean: |
| rm -rf $(DMALLOC_DIR) |
| |
| |
| ############################################################# |
| # |
| # Toplevel Makefile options |
| # |
| ############################################################# |
| ifeq ($(BR2_PACKAGE_DMALLOC),y) |
| TARGETS+=dmalloc |
| endif |