I put my list of files into a Makefile using the same code you gave
below. Make runs through each file and compiles it to an object file
with no problem at all. However, when I try to link it all together with
csc -o foo a.o.b.o.c.o
I get all sorts of errors for multiple definitions of C_toplevel and main.
How do I get past that hurtle?
Bill
felix winkelmann wrote:
On Tue, Feb 3, 2009 at 10:12 PM, William Ramsay <[email protected]> wrote:
Hi all,
Is there a way to do incremental compiling in Chicken? My program is
getting quite large and has a lot of include files involved. How do you go
from "csc -vk foo.scm" to
gcc test.c -o foo.o -c -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -Os
-fomit-frame-pointer -I/usr/local/include
gcc test.o -o foo -L/usr/local/lib -Wl,-R/usr/local/lib -lchicken -lm -ldl
where foo.scm has about ten include files and uses a couple of eggs to boot?
As the program grows it takes longer and longer to compile even on my pretty
zippy machine.
What I often do is compile code as several modules. You can either use
static linking or compile to shared libraries and load them (this makes it
possible to test them in the interpreter more easily). Just split the
code into several source files, and compile and link:
csc -c a.scm
csc -c b.scm
csc -c c.scm
csc -o foo a.o.b.o.c.o
cheers,
felix
_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users