From c4c8ee8becfefc5f2f3230a60dbcfc96738e7bed Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Tue, 17 Jun 2003 19:40:08 +0000 Subject: [PATCH] - Fixed the install and dist rule for static libraries. - Build user mode images without debug symbols. - Build map files for each image. svn path=/trunk/; revision=4920 --- reactos/rules.mak | 4 +++ reactos/tools/helper.mk | 54 +++++++++++++++++++++++++++-------------- 2 files changed, 40 insertions(+), 18 deletions(-) diff --git a/reactos/rules.mak b/reactos/rules.mak index 6996ac7f14d..d91f330e7a6 100644 --- a/reactos/rules.mak +++ b/reactos/rules.mak @@ -8,6 +8,9 @@ ifeq ($(HOST),) HOST = mingw32-windows endif +# Build map files which includes source and asm code +# FULL_MAP = yes + # Default to no PCH support ifeq ($(ROS_USE_PCH),) ROS_USE_PCH = no @@ -82,6 +85,7 @@ RC = $(PREFIX)windres WRC = $(WINE_TOP)/tools/wrc/wrc RCINC = --include-dir $(PATH_TO_TOP)/include OBJCOPY = $(PREFIX)objcopy +OBJDUMP =$(PREFIX)objdump TOOLS_PATH = $(PATH_TO_TOP)/tools CP = $(TOOLS_PATH)/rcopy RM = $(TOOLS_PATH)/rdel diff --git a/reactos/tools/helper.mk b/reactos/tools/helper.mk index 0f3ea861b4d..78f4cfa7e22 100644 --- a/reactos/tools/helper.mk +++ b/reactos/tools/helper.mk @@ -1,4 +1,4 @@ -# $Id: helper.mk,v 1.37 2003/05/29 08:50:23 ekohl Exp $ +# $Id: helper.mk,v 1.38 2003/06/17 19:40:07 hbirr Exp $ # # Helper makefile for ReactOS modules # Variables this makefile accepts: @@ -578,10 +578,31 @@ endif $(MK_FULLRES) $(MK_OBJECTS) $(MK_LIBS) $(MK_GCCLIBS) - $(RM) temp.exp - $(RSYM) $(MK_NOSTRIPNAME) $(MK_BASENAME).sym +ifeq ($(FULL_MAP),yes) + $(OBJDUMP) -d -S $(MK_NOSTRIPNAME) > $(MK_BASENAME).map +else + $(NM) --numeric-sort $(MK_NOSTRIPNAME) > $(MK_BASENAME).map +endif $(MK_FULLNAME): $(MK_NOSTRIPNAME) - $(CP) $(MK_NOSTRIPNAME) $(MK_FULLNAME) -# $(STRIP) --strip-debug $(MK_FULLNAME) +ifeq ($(MK_EXETYPE),dll) + $(CC) -Wl,--base-file,base.tmp \ + -Wl,--entry,$(TARGET_ENTRY) \ + $(TARGET_LFLAGS) \ + -o junk.tmp \ + $(MK_FULLRES) $(MK_OBJECTS) $(MK_LIBS) $(MK_GCCLIBS) + - $(RM) junk.tmp + $(DLLTOOL) --dllname $(MK_FULLNAME) \ + --base-file base.tmp \ + --output-exp temp.exp $(MK_EXTRACMD) + - $(RM) base.tmp +endif + $(CC) $(TARGET_LFLAGS) \ + -Wl,--entry,$(TARGET_ENTRY) $(MK_EXTRACMD2) \ + -o $(MK_FULLNAME) \ + -Wl,--strip-debug \ + $(MK_FULLRES) $(MK_OBJECTS) $(MK_LIBS) $(MK_GCCLIBS) + - $(RM) temp.exp endif # KM_MODE @@ -618,6 +639,11 @@ $(MK_NOSTRIPNAME): $(MK_FULLRES) $(TARGET_OBJECTS) $(MK_LIBS) $(MK_FULLRES) $(MK_OBJECTS) $(MK_LIBS) $(MK_GCCLIBS) - $(RM) temp.exp $(RSYM) $(MK_NOSTRIPNAME) $(MK_BASENAME).sym +ifeq ($(FULL_MAP),yes) + $(OBJDUMP) -d -S $(MK_NOSTRIPNAME) > $(MK_BASENAME).map +else + $(NM) --numeric-sort $(MK_NOSTRIPNAME) > $(MK_BASENAME).map +endif $(MK_FULLNAME): $(MK_FULLRES) $(TARGET_OBJECTS) $(MK_LIBS) $(MK_NOSTRIPNAME) $(LD) -r -o $(MK_STRIPPED_OBJECT) $(MK_OBJECTS) @@ -691,7 +717,7 @@ MK_CLEANDEPS := $(join $(dir $(MK_CLEANFILTERED)), $(addprefix ., $(notdir $(MK_ clean: - $(RM) *.o depend.d *.pch $(MK_BASENAME).sym $(MK_BASENAME).a $(TARGET_PATH)/$(MK_RES_BASE).coff \ - $(MK_FULLNAME) $(MK_NOSTRIPNAME) $(MK_CLEANFILES) $(MK_CLEANDEPS) \ + $(MK_FULLNAME) $(MK_NOSTRIPNAME) $(MK_CLEANFILES) $(MK_CLEANDEPS) $(MK_BASENAME).map \ junk.tmp base.tmp temp.exp \ $(TARGET_CLEAN) @@ -718,15 +744,15 @@ else # MK_IMPLIBONLY ifeq ($(MK_MODE),static) install: - - + +dist: + +bootcd: else # MK_MODE install: $(INSTALL_DIR)/$(MK_INSTALLDIR)/$(MK_FULLNAME) -endif # MK_MODE - - ifeq ($(INSTALL_SYMBOLS),no) $(INSTALL_DIR)/$(MK_INSTALLDIR)/$(MK_FULLNAME): @@ -734,20 +760,10 @@ $(INSTALL_DIR)/$(MK_INSTALLDIR)/$(MK_FULLNAME): else # INSTALL_SYMBOLS -# Don't install static libraries -ifeq ($(MK_MODE),static) - -install: - - - -else # MK_MODE - $(INSTALL_DIR)/$(MK_INSTALLDIR)/$(MK_FULLNAME): $(MK_FULLNAME) $(MK_BASENAME).sym $(CP) $(MK_FULLNAME) $(INSTALL_DIR)/$(MK_INSTALLDIR)/$(MK_FULLNAME) $(CP) $(MK_BASENAME).sym $(INSTALL_DIR)/symbols/$(MK_BASENAME).sym -endif # MK_MODE - endif # INSTALL_SYMBOLS dist: $(DIST_DIR)/$(MK_DISTDIR)/$(MK_FULLNAME) @@ -775,6 +791,8 @@ else # TARGET_BOOTSTRAP bootcd: endif # TARGET_BOOTSTRAP + +endif # MK_MODE endif # MK_IMPLIBONLY