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:
| |-- llvm/Target.cpp ...etc.
| |-- c/Analysis.d ...etc.
- 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)
LINK = $(CC) ;
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.
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