Cygnal 8051 port compilation issue

nobody wrote on Saturday, November 20, 2004:

Using the makefile the following error is encountered

C:\Dev\FreeRTOS\Demo\Cygnal>make
MAKE Version 5.2  Copyright (c) 1987, 2000 Borland
Fatal: ‘…\…\Source\tasks.rel’ does not exist - don’t know how to make it

snapshot SDCC NOV/2004 was used and the project files and directories were installed in C:\Dev\FreeRTOS

Thanks for your support
athari9@telus.net

rtel wrote on Saturday, November 20, 2004:

Hi,

Using Borland’s make does not seem to work.  I just tried it and got exactly the same error.  Using the UNX Utils version works fine.  See:

http://unxutils.sourceforge.net/

Make sure the UNX Utils version of make appears in your PATH before the Borland version.

Regards.

nobody wrote on Sunday, November 21, 2004:

Thanks for the quick reponse.
I tried GNU MAKE 3.75 and UNX MAKE for windows and this is the error I get in both cases

11/20/2004  02:42 PM    <DIR>          .
11/20/2004  02:42 PM    <DIR>          …
11/20/2004  02:27 PM            37,317 8051rtos.wsp
05/04/2004  08:19 AM            27,090 c8051f120.h
11/20/2004  01:59 PM            16,594 main.c
11/21/2004  12:15 AM             3,065 Makefile
11/17/2004  02:17 PM    <DIR>          ParTest
11/20/2004  02:30 PM            36,898 sdcc.wsp
11/20/2004  02:01 PM    <DIR>          serial
               5 File(s)        120,964 bytes
               4 Dir(s)  23,118,036,992 bytes free

C:\Dev\FreeRTOS\Demo\Cygnal>make
make: *** No targets specified and no makefile found.  Stop.

As you can see the makefile is in the directory.
Your help is greatly appriciated.

Adam

rtel wrote on Sunday, November 21, 2004:

That is very odd.  If you type "make --v" what do you get.  My output is as:

GNU Make 3.80
Copyright (C) 2002  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

If you are using the same version I cannot see any reason why it would think the makefile was not there.

Some thoughts:

Could it be that it does not like the capital ‘M’ in Makefile.  Try making it a lower case ‘m’.

Try specifiying the file to make, as in "make --makefile=Makefile" - maybe even with the path also.

Which host operating system are you using?  I am using Win2k.

nobody wrote on Sunday, November 21, 2004:

Hi,

Results:
1) make -v
C:\Dev\FreeRTOS\Demo\Cygnal>make -v
GNU Make version 3.75, by Richard Stallman and Roland McGrath.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96
        Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <bug-gnu-utils@prep.ai.mit.edu>.

C:\Dev\FreeRTOS\Demo\Cygnal>

2)Tried changing Makefile to makefile.
No differrence

3)Tried “make --makefile=Makefile”
C:\Dev\FreeRTOS\Demo\Cygnal>make --makefile=makefile
sdcc -c --model-large -I. -I…\Common\include -I…\include -I…\…\Source\includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …\…\Source\tasks.c
-:0: error 4: ‘fopen’ failed on file ‘…Sourcetasks.c’
make: *** […\…\Source\tasks.rel] Error 1

C:\Dev\FreeRTOS\Demo\Cygnal>

5) Using Windows XP

We are getting closer but no cigar.
Thanks.
Adam

rtel wrote on Sunday, November 21, 2004:

Hmm.  Still strange.  It seems to be taking Sourcetasks.c as a single file, rather than Source\Tasks.c.  XP should not care which way round the slashes go.

I will not be able to test on an XP machine until tomorrow unfortunately as I don’t have one available here.

What happens if you run the command line manually rather than through make? 

---------
sdcc -c --model-large -I. -I…\Common\include -I…\include -I…\…\Source\includ
e -DSDCC_CYGNAL --debug --less-pedantic --xram-size 8448 --stack-auto --no-peep
–int-long-reent --float-reent …\…\Source\tasks.c
---------

If this builds the single file ok then the finger still points at make.  If this has the same problem then make is probably ok now.  If this works then maybe you could convert the makefile into a batch file until I have a change to try it under XP.

Regards,
Richard.

nobody wrote on Monday, November 22, 2004:

Hi Richard,
Calling the compiler directly seems to work. Tasks.c was built with no difficulty.
Thanks for your help and I’ll wait for your update.

Cheers
Adam

rtel wrote on Monday, November 22, 2004:

I just tried:

- putting unx tools, the latest FreeRTOS release, and SDCC onto a clean (i.e. never installed before) XP machine.

- Opening up a command prompt and from there adding the unx tools and sdcc paths to the PATH environment variable as the first two paths in the list.

- Navigating to the Cygnal directory and typing ‘make’.

The demo built with no errors or warnings.

This is a puzzle but seems to be something related only to your machine.  Could you try the 3.80 version of make?

Regards.

nobody wrote on Thursday, December 16, 2004:

i am having iar c cross compiler  can i use

rtel wrote on Thursday, December 16, 2004:

Each port requires a particular device and a particular compiler.  As each compiler uses memory in a different way and generates different code sequences it is unlikely that you would be able to use the IAR compiler without some porting effort.