Hey all,
Not sure if this is the right place to ask these questions, I
hope the mailing list is still active. I'm trying to use Jam
to build what I believe is my fairly straight forward project
(in the D programming language). The goal of my build process
is as follows:
- Build the libllvm-c-ext.a (static) library from
llvm/Target.cpp and llvm/Ext.cpp. These are CPP FFI
extensions to the D bindings for LLVM.
- Build the D source code for the codebase, link the LLVM
library and the bindings extension.
In trying to achieve this goal, I've found a number of steps
I'm not sure how to do:
- Is it possible to direct the object files and static
libraries to be built in a dedicated build folder? The
project structure looks like this:
-- ob2c
|-- src
|-- imports
| |-- llvm/Target.cpp ...etc.
| |-- c/Analysis.d ...etc.
|-- Jamfile
- Is it possible to override the "-o" flag passed to the c
compiler (which I'm tricking as the D compiler at the
moment)?
- Is it possible to scan for all source files from a
directory?
At the moment my Jamfile looks like this:
BUILDDIR = build ;
CC = dmd ;
CCFLAGS = -fPIC -O -inline -release -w -wi -od$(BUILDDIR)
-I./imports/llvm-2.9 ;
LINK = $(CC) ;
DFILES =
src/main.d ; # should be scanned from src dir
Objects $(DFILES) ;
MainFromObjects ob2c : $(DFILES:S=.o) ;
The build output looks like this:
dmd -c -ofsrc/main.o src/main.d
dmd -o ob2c src/main.o
Error: -o no longer supported, use -of or -od
Apologies for the long email, I wanted to give as much context
as possible. Any help would be greatly appreciated.
Kind Regards,
Chris
PS: If you can recommend a good book on Jam or some
(extensive) documentation that would be great. I can't find
many articles on the build tool.