Wmmake soooooo slow!!!

Hi,

I have recently setup openat with the following versions:
C:\OpenAT\OS\4.21.01
C:\OpenAT\Firmware\663
C:\OpenAT\IDE\GCC\4.0.1.0
C:\OpenAT\IDE\MINGW\3.8.0.0
C:\OpenAT\IDE\IDE\1.03.00

I have tried compiling using wmmake from the bash shell and the build commands from eclipse. The problem is that the project takes about 45 minutes to rebuild…theres something wrong. On another PC the rebuild is quick. Need to know how wmmake works or what its dependencies and path requirements are. Is it possible that wmmake is using a wrong cygwin distribution or wrong make files from another compiler that is setup on my pc?

Thanks and regards
Rakesh

I had exactly the same problem. I installed OpenAT on a laptop I had been using for 2+ years. I was never able to get get an answer on why it would take 15 minutes to build hello world. The only way I was able to solve the problem was to wipe the machine and start from scratch. That fixed it! Even after I had reinstalled almost all the same programs back on my machine, so it was almost the exact same setup, the build environment still built normal. Wierd…

No WaveCOM BODY here to answer the question? :cry:

/cygdrive/e/testHello_World3 $ wmmake Hello_World -n
Loading project settings…done.
Building gcc_Hello_World_256KB project…

Launch a full library or binary process

Copy all needed library and object files

Why? copy library everytime ?
Make links E:/OpenAT/OS/4.23.02/ADL/gcc_wmadl_4.23.0.2.0.lib …/out/gcc_wmadl_4
.23.0.2.0.lib

… Link step in progress …

… Link gcc_Hello_World_256KB.bin …

Extract gcc_Hello_World_256KB.bin from gcc_Hello_World_256KB.axf (or from gc

c_Hello_World_256KB.elf if Gcc ARM compiler is used)
Extracting ? Why? What r u doing here?

Update symbol file -> …/out/s
Compress gcc_Hello_World_256KB.bin to gcc_Hello_World_256KB.wpb for DWLWIN a
pplication
Compress ? embrassed!!

… Make TMT directory …
Creating files below! Another why again.

Make links …/out/s …/out/tmt/symbolfiles/s

Create …/out/tmt/config/DiagnoseTips.ini
Create …/out/tmt/config/MokaWatches.ini
Create …/out/tmt/config/RemoteDefs.ini

Create …/out/tmt/gcc.wks

No remote trace file found

Create TMT archive file

ls: cannot access …/out/pro-lib.bin: No such file or directory
ls: cannot access …/out/pro-lib.bin: No such file or directory

Make an archive file for TMT application

It spends time in file processing, especially compress like ZIP
zip warning: name not matched: …/out/tmt/e2p_csn.cso

zip error: Nothing to do! (…/out/tmt/zip_tmt.zip)
zip warning: name not matched: …/out/tmt/backtraces64k.axf
zip warning: name not matched: …/out/tmt/symbolfiles/s64k
zip warning: name not matched: …/out/tmt/symbolfiles/e2p.h
adding: backtraces.axf (176 bytes security) (deflated 74%)
enter new zip file comment (end with .):
current zip file comment is:
Here add to zip one by one, not files at one process, is it correct?
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = 062508
Time = 00:00:00
enter new zip file comment (end with .):
adding: s (176 bytes security) (deflated 69%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = 062508
Time = 00:00:00
enter new zip file comment (end with .):
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = 062508
Time = 00:00:00
enter new zip file comment (end with .):
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = 062508
Time = 00:00:00
enter new zip file comment (end with .):
adding: DiagnoseTips.ini (176 bytes security) (deflated 87%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = 062508
Time = 00:00:00
enter new zip file comment (end with .):
adding: MokaWatches.ini (176 bytes security) (deflated 67%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = 062508
Time = 00:00:00
enter new zip file comment (end with .):
adding: RemoteDefs.ini (176 bytes security) (deflated 74%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = 062508
Time = 00:00:00
enter new zip file comment (end with .):
Rename …/out/tmt/zip_tmt.zip …/out/tmt/gcc.zip


Deleting… next time you have to create it again, I though some files that neednt change shouldnt create and delete once and again

Keep only the TMT archive file in …/out/tmt

Remove …/out/tmt/e2p_csn.cso
Remove …/out/tmt/sys_ftr.ho
Remove …/out/tmt/wm_ftr.ho
Remove …/out/tmt/remtrace.csv
Remove …/out/tmt/backtraces.axf
Remove …/out/tmt/backtraces64k.axf
Remove …/out/tmt/remtrace_full.csv
Remove …/out/tmt/symbolfiles directory
Remove …/out/tmt/config directory

… Create binary in X-MODEM format from gcc_Hello_World_256KB.bin …
Again, IO / Files processing wates a long time
Add a checksum to gcc_Hello_World_256KB.sgt
(AddCheck Version v2.0.4 Copyright © WAVECOM) [Feb 14 2003, 15:50:57]
Time modified : Wed Jun 25 13:12:06 2008


… Build gcc_Hello_World_256KB.dwl …
Till here , I already dont know howe many times it build and what does it buid.

genBin : Version v1a06 Copyright © WAVECOM
genBin : No Error



Cleaning temporary files (*.tmp / *.trc)


Generation done with SGT v1.2.12oat
Binary files created :
gcc_Hello_World_256KB.bin
pro-dwl.bin
Binary files in Xmodem format :
gcc_Hello_World_256KB.dwl
Compiler keyword : gcc_arm
Compiler release : GCC ARM
C compiler path : E:/OpenAT/IDE/GCC/4.0.1.0/bin/arm-elf-gcc
ASM compiler path : E:/OpenAT/IDE/GCC/4.0.1.0/bin/arm-elf-gcc
customer release : gcc
Name of the current directory : gcc
Log file : …/out/gcc_Hello_World_256KB_status.log
Release of the environement : CYGWIN_NT-5.1 pc02 1.5.23(0.156/4/2) 2006-12-19 1
0:52 i686 Cygwin

Build an X-MODEM binary  : 'gcc_Hello_World_256KB.wpb.dwl'

Emasculated to say anything. I am to tired
… Convert gcc_Hello_World_256KB.wpb in X-MODEM format …

genBin : Version v1a06 Copyright © WAVECOM
genBin : No Error

… Build gcc_Hello_World_256KB.wpb.dwl …


AXFshrinker Version 1.0.0.1 ( Aug 23 2002 , 17:44:58 )
updating: backtraces.axf (176 bytes security) (deflated 74%)
Done.
/cygdrive/e/testHello_World3 $

Look at Siemens TC65 compiling.
It compiles 12 files, total about 21,000 lines codes and it only spent 7 seconds in compiling and creating bin file.

[b]---------------------------------------------------------------------
Building release version…

Compiling…
Preverifying…
Packaging…
E:\Projects\mPhones>[/b]

See that? Easy and quick.

See this thread for the same discussion:
viewtopic.php?t=2426
And this thread for a solution where you don’t use Wavecom’s build environment at all:
viewtopic.php?t=2388

Most of the excessive work the Wavecom build environment does is because this is the same environment they use for building their own firmware, etc. and they also support multiple operating systems (Cygwin, Mingw, Linux) and multiple compilers (GCC, ADS), and multiple libraries (ADL, BASIC). If they had different build scripts for different combinations, then the whole thing would be simpler & faster. Also, a lot of the extracting, compressing, etc. is for Wavecom tools such as TMT.

Otto , thanks for your reply. ^^

I am working in Windows XP, using VC. Is there a way to build without extra tools or env.that WaveCom support?
My objective is to speed up my developing time. As you know, extra time spent is also company cost and competitor may exceed you if you have a little bit slow down in developing in now Ten Times World.

For starters, I recommend calling your distributor or Wavecom about this problem. Even if they can’t help you, hopefully your complain will get back to the Wavecom developers and they may improve future versions of the SDK.

The Makefiles discussed in the link above still uses the tools that come with the Wavecom SDK. It just bypasses Wavecom’s over-complicated build scripts.

If you’re using VC, you must have noticed that the RTE build uses the VC native build process and is much, much faster!

Therefore I recommend that you do as much building as possible in the RTE mode, and only do a Target build when you actually need to download to the target.

There’s an IDE version 2 in the works, that will get rid of the aging generation toolkit chain. Since the stuff is based on Eclipse, I’d guess it will use ANT as a builder.

Meanwhile, if you’re fluent in some makefile dialect, have a thorough look at the thread mentioned above (especially the .SILENT trick), and cook your own solution. Ideally, it would be nice of you to contribute your work back to the community, in the makefile thread mentionned above.

Dear users,

The issue has been raised internally and Wavecom will look into providing the best solutions to the users.

While discussing your problems in this Forum, please keep in mind that it is not an online Wavecom Support Channel and thus you should not expect a Wavecom engineer to solve your problems. Of-course we always look into the problems raised by you, but expecting a solution on this Forum from a Wavecom engineer would not be the right thing to do.

For quick response to your issues, we advise you to get in touch with your respective FAE, who would take up the issue with Wavecom to solve your problems ASAP.