DScience

April 29, 2012 · View on GitHub

============ DScience

The DScience Project goal is to become an international association of developers of freely available D tools for computational molecular biology. It is a distributed collaborative effort to develop D libraries and applications which address the needs of current and future work in bioinformatics.

How build our project:

In same directory where is the file Makefile do: makemake make install

Use -j flag for multithreading: makejmake -j make install -j

You can override many varibale as prefix or libdir: makemake make install PREFIX=/usr LIB_DIR=/usr/lib64

Set DFLAGS $ make DCFLAGS="-w -d -g -O"

Set Include flag DFLAGS_IMPORT="-Idir1 -Idir2"

Set compiler $ make DC=dmd

Generate tag for geany $ make geany-tag

Generate pkgconfig file $ make pkgfile

Generate Ddoc You need wrote in root dir a modules.ddoc file, afeter this do $ make ddoc

Generate shared lib: $ make shared-lib

Combine targets together: $ make -j all shared-lib ddoc DFLAGS_IMPORT="-ImySourceDir"

Default target: all: able to build static lib, doc, header, pkg-confih file

Others targets:

  • shared-lib
  • ddoc
  • geany-tag

How Clean your project:

Each build targets has a clean target by example if you have built with "shared-lib" target use "clean-shared-lib" target

How Install your project:
Each build targets has a install target by example if you have builti with "shared-lib" target use "install-shared-lib" target

RESUME:

BUILD | CLEAN | INSTALL


all | clean | install static-libs | clean-static-lib | install-static-lib shared-lib | clean-shared-lib | install-shared-lib header | clean-header | install-header doc | clean-doc | install-doc ddoc | clean-ddoc | install-ddoc geany-tag | clean-geany-tag | install-geany-tag pkgfile | clean-pkgfile | install-pkgfile

Feature:

  • Support 3 compilers: ldc, gdc, dmd
  • Build as static lib or shared
  • Generate geany tag
  • Generate package config file
  • Generate both normal doc and cute doc

TODO:

  • Add Windows support (should work)

Warning:

if you override PREFIX var you need to give prefix at each step, build and install, by example makej4PREFIX=/usrallddocmake -j4 PREFIX=/usr all ddoc sudo make -j4 PREFIX=/usr install install-ddoc