#32147 - mr_square - Sat Dec 18, 2004 3:01 pm
I'm at home for the holidays at the moment, and so have been forced to relocate all my work onto my dads PC. This has involved downgrading from Windows XP to '98, and I'm having a few problems getting my development environment set up again.
I'm using DevKitAdvance, and my old makefile seems to be happily compiling everything except for 'map.out'. It goes through all my .cpp files quite happily, but then halts with the message:
Code: |
process_begin: CreateProcess((null), touch map.out, ...) failed.
make(e=2): The system cannot find the file specified.
|
Looking in my code directory, map.out isn't being created - what is it, and how can I get it back?!
thanks[/code]
#32149 - NoMis - Sat Dec 18, 2004 5:26 pm
Your system doesn't seem to find the make.exe. Make sure to put it in a Directory wich is specified in the path system variable or put it into the directory you compile from.
NoMis
#32153 - mr_square - Sat Dec 18, 2004 5:41 pm
I don't think thats the problem - the make command works fine - it quite happily runs my makefile and compile all of the files up until it gets to map.out - thats what it is complaining it can't find.
edit* Right, I'm not an expert on makefiles or anything, and I had a lot of help getting mine up and running, so I'm not entirely sure of what it does at each stage, but...
My makefile calls rm on the map.out file right at the beginning, and then calls touch map.out on it again at the very end. 'Touch' just updates the file time and date from what I can gather, so I removed both these calls from the file and copied in an old version of map.out into the project directory, and it seems to work fine. How important (and what) is map.out though? I dont want to be not re-compiling a vital file.
#32164 - identitycrisisuk - Sat Dec 18, 2004 9:45 pm
rm just removes a file doesn't it? If you really can't find any other references then I don't think it's very important, sounds like something to do with a map header file you've copied over from another makefile if you haven't got a data file called map already.
_________________
Code: |
CanIKickIt(YES_YOU_CAN); |
#32168 - DekuTree64 - Sat Dec 18, 2004 11:39 pm
map.out is probably a memory map of where all your functions are placed in ROM. It's created with the -map file.ext option for ld (the linker), or gcc if you tell it to output a .elf file directly.
You shouldn't need to delete it (rm) or touch the map file. It'll get re-generated every time you build anyway, and touch is only really useful if you want to force everything that depends on the file to be rebuilt. Normally nothing depends on the map file, so it won't make any difference anyway.
All that said, map files can be useful to find out what function you're in in disassembly, and to make sure everything is in the right sections (ROM, EWRAM, IWRAM), and see how much space is being used in each of those sections.
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku