[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Building extension modules
- From: David Burgess <dburgess@...>
- Date: Mon, 13 Dec 2004 11:12:43 +1000
> > 1) The library/archive and object suffixes e.g. ldo.o and liblua.a. Could
> This has been asked before. It can be done, of course, but the Makefiles
> are for Unix, as said in INSTALL.
I can live with it.
> Sorry, you've lost me here. What do you mean?
The make file in lua/ creates lua/bin and lua/lib.
IMHO the makefile that outputs to these should be the makefile that
e.g. src/makefile should create lua/lib
lua/luac/makefile should create lib/bin
Thsi would mean that I could execute lua/src/makefile without having to
manually create src/lib or run lua/makefile.
> The only problem I see with this is that we'd have to specify the location
> of objects files. I recall that in the past this was a problem for
> different compilers. Some insisted on saving objects to the current
> directory; others wanted to save them where the source files lived.
The following should solve the problem.
OBJS = src/lapi.o etc
SRCS = src/lapi.c atc
I have not encountered a compiler that does not let you specify the
> I like the idea of each directory having its own Makefile because it helps
> you when you're doing local changes. (Yes, 5.1 Makefiles will contain full
> dependencies.) However, there is the case for a single Makefile  and if
> single, *portable* Makefile makes the whole thing simpler, I'm all for it.
> Of course, a simple solution is to have all source files in a single
> directory, that is, not have lib, lua and luac subdirectories in src.
> Is that what you're saying above?
No, I was not, but it is an idea worth considering. The number of files
involved is 8 at a guess. The name conventions clearly separate the
library files and lua.c and luac.c are obvious.
The makefile could/would indicate the role of the files. e.g.
OBJCORE = lapi.o etc
OBJLIB = lbaselib.o etc
Maybe the directory separation is redundant.
One could argue that the directory structure adds to the complexity.
If the Lua source was in one directory (say src) the build instructions
become rather simple; "compile everything in the src/ directory".
IMHO if it reduces documentation requirement then it is simpler and
easier to maintain.
> Perhaps you or someone else can send me a sample Makefile that would
> replace all those Makefiles. We could then see what is involved.
I have one for nmake, hacked and modified for my addon libraries.
I will redo this for make if you think it would be helpful. However, the
more I think about the single C source directory the more I like it. It would
simplify some of the make issues.
>  Recursive Make Considered Harmful
I think I agree with the content.