weld is a simple replacement for most uses of make and similiar tools. Unlike other systems weld is not a full blown, Turing complete language, it is just a simple way to describe most software sources. weld is still a young project but is fairly stable already.
A small bit of intelligence is also built right in (tm) so that weld can automagically build a simple project with sane defaults. The file format used by weld is based on the INI format so it's easy to read by humans. A sample weld.it (used to build weld itself) is shown here:
[weld]
files = main.bas, parser.bas, compiler.bas, module.bas
#this option can also be customized per platform, see WeldFileFormat
options = -w all -i /path/to/inc -p /path/to/lib/platform
main = main
#depends = no project level dependencies
type = exe
weld is stable enough at this point to ease your development. It supports incremental builds so if you only change one file you don't have to rebuild the whole thing, just the one file. weld is also fairly quick but performance isn't a main concern at this point it runs like a champ for me, anecdotally similar to GNU Make for similarly sized projects.
This was originally built in 2011 using the Extended Library but has been updated to remove that dependency and support modern compilers.
- Run
git submodule init
to bring in dependencies orgit submodule update --remote
to update them. - Use the
bootstrap.sh
if this is the first time building or dependencies have updated - Run
weld
in the project directory
- Run
git submodule init
to bring in dependencies orgit submodule update --remote
to update them. - Open a Command Prompt (if using powershell run "cmd" to get the proper support for batch file features used)
- Define a variable for the FreeBASIC compiler to use: "SET FBC=fbc32" or "SET FBC=fbc64" for 32bit or 64bit support
- Run bootstrap.bat
- Run
git submodule init
to bring in dependencies orgit submodule update --remote
to update them. - Submodule Makefiles expect an
fbc
to be on the path, if you are using both 32 and 64 bit compilers you should create a symbolic link named fbc that points to the preferred compiler. - Run bootstrap.sh
Copy weld.exe (windows/dos) or weld (unix) to a directory that is available on your PATH environment variable