make/common/Library.gmk
Print this page
*** 179,190 ****
--- 179,199 ----
$(LFLAGS) @$(OBJDIR)/$(LIBRARY).lcf \
$(OTHER_LCF) $(LDLIBS)
$(CP) $(OBJDIR)/$(@F) $@
@$(call binary_file_verification,$@)
ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+ ifeq ($(ZIP_DEBUGINFO_FILES),1)
+ (set -e ; \
+ $(CD) $(OBJDIR) ; \
+ $(ZIPEXE) -q $(LIBRARY).diz $(LIBRARY).map $(LIBRARY).pdb ; \
+ )
+ $(CP) $(OBJDIR)/$(LIBRARY).diz $(@D)
+ $(RM) $(OBJDIR)/$(LIBRARY).map $(OBJDIR)/$(LIBRARY).pdb
+ else
$(CP) $(OBJDIR)/$(LIBRARY).map $(@D)
$(CP) $(OBJDIR)/$(LIBRARY).pdb $(@D)
+ endif
endif
endif # LIBRARY
$(OBJDIR)/$(LIBRARY).lcf: $(OBJDIR)/$(LIBRARY).res $(COMPILE_FILES_o) $(FILES_m)
*** 246,255 ****
--- 255,295 ----
$(LINKER) $(SHARED_LIBRARY_FLAG) -o $@ $(FILES_o) $(LDLIBS)
@$(call binary_file_verification,$@)
ifeq ($(WRITE_LIBVERSION),true)
$(MCS) -d -a "$(FULL_VERSION)" $@
endif # WRITE_LIBVERSION
+ ifneq ($(PLATFORM), macosx)
+ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+ ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1)
+ (set -e ; \
+ $(CD) $(@D) ; \
+ $(OBJCOPY) --only-keep-debug $(@F) $(LIBRARY).debuginfo ; \
+ $(OBJCOPY) --add-gnu-debuglink=$(LIBRARY).debuginfo $(@F) ; \
+ )
+ ifeq ($(STRIP_POLICY),all_strip)
+ $(STRIP) $@
+ else
+ ifeq ($(STRIP_POLICY),min_strip)
+ ifeq ($(PLATFORM), solaris)
+ $(STRIP) -x $@
+ else
+ # assume Linux
+ $(STRIP) -g $@
+ endif
+ # implied else here is no stripping at all
+ endif
+ endif
+ ifeq ($(ZIP_DEBUGINFO_FILES),1)
+ (set -e ; \
+ $(CD) $(@D) ; \
+ $(ZIPEXE) -q $(LIBRARY).diz $(LIBRARY).debuginfo ; \
+ $(RM) $(LIBRARY).debuginfo ; \
+ )
+ endif
+ endif # LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
+ endif # ENABLE_FULL_DEBUG_SYMBOLS
+ endif # PLATFORM-!macosx
endif # LIBRARY
endif # PLATFORM
#