www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Get no MAPFILE

reply "Nils Koehler" <nils.koehler ibt-interfaces.de> writes:
Hi all,

I try to get a MapFile with adress and Labelinformation.
I work with a make File

I set the following Switches:

Makefile switch DEBUG= 1
Makefile switch NDEBUG= 0
Compilerflag -d (Debug)
Linkerflag /MAP

But I dont get a MapFile ??

Does anyone have a hint for me what to do?
Kindest regardes.

Nils Koehler



This is the aktual Makefils i use:

ORIGIN          = Symantec C++
ORIGIN_VER      = Version 7.00
VERSION         = RELEASE

DEBUG           = 1
NDEBUG          = 0

PROJ            = GRAF
APPTYPE         = DOSX EXE
PROJTYPE        = EXE

CC              = SC
CPP             = SPP
MAKE            = SMAKE
RC              = RCC
HC              = HC31
ASM             = SC
DISASM          = OBJ2ASM
LNK             = LINK
DLLS            =

HEADERS         = ..\..\..\sc\include\stdlib.h ..\..\..\sc\include\stdio.h
..\..\..\sc\include\alloc.h  \
                ..\..\..\sc\include\conio.h ..\..\..\sc\include\bios.h
..\..\..\sc\include\dos.h ..\..\..\sc\include\dir.h  \
                ..\..\..\sc\include\direct.h ..\..\..\sc\include\io.h
..\..\..\sc\include\fcntl.h ..\..\..\sc\include\sys\stat.h  \
                ..\..\..\sc\include\int.h ..\..\..\sc\include\string.h
..\..\..\sc\include\ctype.h ..\..\..\sc\include\process.h  \
                ..\..\..\sc\include\mem.h ..\..\..\sc\include\time.h
defines.h menue.h  \
                texte.h proto.h tasten.h

DEFFILE         = graf.DEF

OUTPUTDIR       = .
CREATEOUTPUTDIR =
TARGETDIR       = .
CREATETARGETDIR =

LIBS            =

CFLAGS          =  -c -cpp -3 -mx -Ju -a4 -S -o -d
LFLAGS          =  /MAP
DEFINES         = -DGERMAN

HFLAGS          = $(CFLAGS)
MFLAGS          = MASTERPROJ=$(PROJ)
LIBFLAGS        =  /C
RESFLAGS        =
DEBUGGERFLAGS   =
AFLAGS          = $(CFLAGS)
HELPFLAGS       =

MODEL           = N

PAR             = PROJS BATS OBJS

RCDEFINES       =

LIBDIRS         =

INCLUDES        =

INCLUDEDOBJS    =

OBJS            = graf.obj user.obj class.obj edit.obj file.obj inter.obj
handler.obj ibt.obj bib.obj

RCFILES         =

RESFILES        =

SYMS            =

HELPFILES       =

BATS            =

.SUFFIXES: .C .CP .CPP .CXX .CC .H .HPP .HXX .COM .EXE .DLL .LIB .RTF .DLG
.ASM .RES .RC .OBJ

.C.OBJ:
        $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o$*.obj $*.c

.CPP.OBJ:
        $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o$*.obj $*.cpp

.CXX.OBJ:
        $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o$*.obj $*.cxx

.CC.OBJ:
        $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o$*.obj $*.cc

.CP.OBJ:
        $(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o$*.obj $*.cp

.H.SYM:
        $(CC) $(HFLAGS) $(DEFINES) $(INCLUDES) -HF -o$(*B).sym $*.h

.HPP.SYM:
        $(CC) $(HFLAGS) $(DEFINES) $(INCLUDES) -HF -o$(*B).sym $*.hpp

.HXX.SYM:
        $(CC) $(HFLAGS) $(DEFINES) $(INCLUDES) -HF -o$(*B).sym $*.hxx

.C.EXP:
        $(CPP) $(CFLAGS) $(DEFINES) $(INCLUDES)   $*.c   -o$*.lst

.CPP.EXP:
        $(CPP) $(CFLAGS) $(DEFINES) $(INCLUDES) $*.cpp -o$*.lst

.CXX.EXP:
        $(CPP) $(CFLAGS) $(DEFINES) $(INCLUDES) $*.cxx -o$*.lst

.CP.EXP:
        $(CPP) $(CFLAGS) $(DEFINES) $(INCLUDES)  $*.cp  -o$*.lst

.CC.EXP:
        $(CPP) $(CFLAGS) $(DEFINES) $(INCLUDES)  $*.cc  -o$*.lst

.ASM.EXP:
        $(CPP) $(CFLAGS) $(DEFINES) $(INCLUDES) $*.asm -o$*.lst

.OBJ.COD:
        $(DISASM) $*.OBJ >$*.cod

.OBJ.EXE:
        $(LNK) $(LFLAGS)  $(PROJ).LNK

.RTF.HLP:
        $(HC) $(HELPFLAGS) $*.HPJ

.ASM.OBJ:
        $(ASM) $(AFLAGS) $(DEFINES) $(INCLUDES) -o$*.obj $*.asm

.RC.RES:
        $(RC) $(RCDEFINES) $(RESFLAGS) $(INCLUDES) $*.rc -o$*.res

all:    createdir $(PRECOMPILE) $(SYMS) $(OBJS) $(INCLUDEDOBJS)
$(POSTCOMPILE) $(TARGETDIR)\$(PROJ).$(PROJTYPE) $(POSTLINK) _done

createdir:
        $(CREATEOUTPUTDIR)
        $(CREATETARGETDIR)

$(TARGETDIR)\$(PROJ).$(PROJTYPE): $(OBJS) $(INCLUDEDOBJS) $(RCFILES)
$(RESFILES) $(HELPFILES)
                        -del $(TARGETDIR)\$(PROJ).$(PROJTYPE)
                        $(LNK) $(LFLAGS)  $(PROJ).LNK;
                        -ren $(TARGETDIR)\$$SCW$$.$(PROJTYPE)
$(PROJ).$(PROJTYPE)
                        -echo $(TARGETDIR)\$(PROJ).$(PROJTYPE) built

_done:
                -echo $(PROJ).$(PROJTYPE) done

buildall:       clean   all


clean:
                -del $(TARGETDIR)\$$SCW$$.$(PROJTYPE)
                -del $(TARGETDIR)\$(PROJ).CLE
                -del $(OUTPUTDIR)\SCPH.SYM
                -del $(OBJS)

cleanres:

res:            cleanres $(RCFILES) all


link:
                $(LNK) $(LFLAGS)  $(PROJ).LNK;
                -del $(TARGETDIR)\$(PROJ).$(PROJTYPE)
                -ren $(TARGETDIR)\$$SCW$$.$(PROJTYPE) $(PROJ).$(PROJTYPE)




!IF EXIST (GRAF.dpd)
!INCLUDE GRAF.dpd
!ENDIF

-- 
-----------------------------------------------
Nils Köhler
IBT Interfaces
Im Taubhaus 19
63322 Rödermark
Germany

Tel:  +49-6074-6964-160
Fax: +49-6074-6964-161
Dec 16 2005
parent reply James Dunne <james.jdunne gmail.com> writes:
Nils Koehler wrote:
 Hi all,
 
 I try to get a MapFile with adress and Labelinformation.
 I work with a make File
 
 I set the following Switches:
 
 Makefile switch DEBUG= 1
 Makefile switch NDEBUG= 0
 Compilerflag -d (Debug)
 Linkerflag /MAP
 
 But I dont get a MapFile ??
 
 Does anyone have a hint for me what to do?
 Kindest regardes.
 
 Nils Koehler
 
 
/MAP option does not generate a mapfile, nor does it say it does in the documentation (http://digitalmars.com/ctg/optlink.html). The line you're most interested is: LINK obj[,out[,map[,lib[,def[,res]]]]]
Dec 17 2005
parent reply "Nils Koehler" <nils.koehler ibt-interfaces.de> writes:
Dera James,

Thank you for your help, I tryed it with a small programm and it works.

But in my real application I can not use the comman line because I run over
the
Dos limit of input charakters per line to specify all ojbect files and
libarys, so I like
to use the makefile, but in this case I still  get no map file generatet.

Kindes Regardes

Nils Koehler






"James Dunne" <james.jdunne gmail.com> schrieb im Newsbeitrag
news:do1nbn$1io6$1 digitaldaemon.com...
 Nils Koehler wrote:
 Hi all,

 I try to get a MapFile with adress and Labelinformation.
 I work with a make File

 I set the following Switches:

 Makefile switch DEBUG= 1
 Makefile switch NDEBUG= 0
 Compilerflag -d (Debug)
 Linkerflag /MAP

 But I dont get a MapFile ??

 Does anyone have a hint for me what to do?
 Kindest regardes.

 Nils Koehler
/MAP option does not generate a mapfile, nor does it say it does in the documentation (http://digitalmars.com/ctg/optlink.html). The line you're most interested is: LINK obj[,out[,map[,lib[,def[,res]]]]]
Dec 19 2005
parent reply Hasan Aljudy <hasan.aljudy gmail.com> writes:
I'm not familiar with make files or with your problem,
but why don't you try the build tool? I think it can save you TONS of 
headache.
http://www.dsource.org/projects/build



Nils Koehler wrote:
 Dera James,
 
 Thank you for your help, I tryed it with a small programm and it works.
 
 But in my real application I can not use the comman line because I run over
 the
 Dos limit of input charakters per line to specify all ojbect files and
 libarys, so I like
 to use the makefile, but in this case I still  get no map file generatet.
 
 Kindes Regardes
 
 Nils Koehler
 
 
 
 
 
 
 "James Dunne" <james.jdunne gmail.com> schrieb im Newsbeitrag
 news:do1nbn$1io6$1 digitaldaemon.com...
 
Nils Koehler wrote:

Hi all,

I try to get a MapFile with adress and Labelinformation.
I work with a make File

I set the following Switches:

Makefile switch DEBUG= 1
Makefile switch NDEBUG= 0
Compilerflag -d (Debug)
Linkerflag /MAP

But I dont get a MapFile ??

Does anyone have a hint for me what to do?
Kindest regardes.

Nils Koehler
/MAP option does not generate a mapfile, nor does it say it does in the documentation (http://digitalmars.com/ctg/optlink.html). The line you're most interested is: LINK obj[,out[,map[,lib[,def[,res]]]]]
Dec 19 2005
parent reply Derek Parnell <derek psych.ward> writes:
On Mon, 19 Dec 2005 02:22:57 -0700, Hasan Aljudy wrote:

You can use a 'response file' instead of placing all on the command line.
The Build tool does this for you.

The newer link for the tool is 

  http://trac.dsource.org/projects/build/

-- 
Derek Parnell
Melbourne, Australia
20/12/2005 1:08:04 AM
Dec 19 2005
parent reply "Nils Koehler" <nils.koehler ibt-interfaces.de> writes:
My 7.21 D Compiler is to old to work with the actual Building tool,
I get an error massages SC.ini file not found, but I have orderd
the new version of the DM CD to solve these Problems.

Thank you all

Nils




"Derek Parnell" <derek psych.ward> schrieb im Newsbeitrag
news:798r7hex8gq8.e5rag3nz0n34$.dlg 40tude.net...
 On Mon, 19 Dec 2005 02:22:57 -0700, Hasan Aljudy wrote:

 You can use a 'response file' instead of placing all on the command line.
 The Build tool does this for you.

 The newer link for the tool is

   http://trac.dsource.org/projects/build/

 -- 
 Derek Parnell
 Melbourne, Australia
 20/12/2005 1:08:04 AM
Dec 21 2005
parent reply James Dunne <james.jdunne gmail.com> writes:
Nils Koehler wrote:
 My 7.21 D Compiler is to old to work with the actual Building tool,
 I get an error massages SC.ini file not found, but I have orderd
 the new version of the DM CD to solve these Problems.
 
 Thank you all
 
 Nils
 
 
 
 
 "Derek Parnell" <derek psych.ward> schrieb im Newsbeitrag
 news:798r7hex8gq8.e5rag3nz0n34$.dlg 40tude.net...
 
On Mon, 19 Dec 2005 02:22:57 -0700, Hasan Aljudy wrote:

You can use a 'response file' instead of placing all on the command line.
The Build tool does this for you.

The newer link for the tool is

  http://trac.dsource.org/projects/build/

-- 
Derek Parnell
Melbourne, Australia
20/12/2005 1:08:04 AM
I certainly hope you have good reason to use the 7.21 (??) version of the D compiler... but if not then you should definitely download the latest version (0.141 as of this writing) from http://digitalmars.com/d/dcompiler.html. Scroll 1/4 down the page and save the 'dmd.zip' and 'dmc.zip' links. Anyway, you probably want to modify your Makefile to include the "LINK objfiles,executable,mapfile" format. Why is this difficult? Post a snippet of your Makefile (please not the entire thing) that relates to the rule for executing your linker.
Dec 21 2005
parent "Nils Koehler" <nils.koehler ibt-interfaces.de> writes:
Thank you,

I think the problem is that the makefile stuff is munnung ot of DOS limit of
charakters per line in the linking section.
I tryed linking via commanline with the following linkflie an it works fine:

linkfile test.link:

cx.obj+graf.OBJ+class.OBJ+edit.OBJ+file.OBJ+inter.OBJ+user.OBJ+handler.OBJ+i
bt.OBJ+bib.OBJ+cx.obj+x32.lib
exefilename
mapfilename
/MAP


c:> link  test.lnk;


NIls




"James Dunne" <james.jdunne gmail.com> schrieb im Newsbeitrag
news:doc6d3$2uid$1 digitaldaemon.com...
 Nils Koehler wrote:
 My 7.21 D Compiler is to old to work with the actual Building tool,
 I get an error massages SC.ini file not found, but I have orderd
 the new version of the DM CD to solve these Problems.

 Thank you all

 Nils




 "Derek Parnell" <derek psych.ward> schrieb im Newsbeitrag
 news:798r7hex8gq8.e5rag3nz0n34$.dlg 40tude.net...

On Mon, 19 Dec 2005 02:22:57 -0700, Hasan Aljudy wrote:

You can use a 'response file' instead of placing all on the command
line.
The Build tool does this for you.

The newer link for the tool is

  http://trac.dsource.org/projects/build/

-- 
Derek Parnell
Melbourne, Australia
20/12/2005 1:08:04 AM
I certainly hope you have good reason to use the 7.21 (??) version of the D compiler... but if not then you should definitely download the latest version (0.141 as of this writing) from http://digitalmars.com/d/dcompiler.html. Scroll 1/4 down the page and save the 'dmd.zip' and 'dmc.zip' links. Anyway, you probably want to modify your Makefile to include the "LINK objfiles,executable,mapfile" format. Why is this difficult? Post a snippet of your Makefile (please not the entire thing) that relates to the rule for executing your linker.
Jan 18 2006