blob: 93b714456fac4e1d44076a61146e2ecf06f334dd [file] [log] [blame]
# For detailed information on using, building, and modifying Weld, please visit:
# http://www.agottem.com/weld
# This is a template for a C or C++ component definition. These component definitions
# should have the following layout:
# ./
# def.mk
# source/
# source1.c
# source2.c
# include/
# header1.h
# header2.h
# resource/
# resource1.blaz
# Specify the name of the component definition. This name must be unique throughout
# the source tree
name := my_name
# Specify the type of component. May be one of:
# lib -- build static library
# bin -- build a binary
# The name of the build produced build artifact will be derived from the specified
# name of the component
type := lib
# Specify the language the component source is written in. May be one of:
# c -- compile as c99
# cpp -- compile as c++11
lang := c
# Optionally specify source files should live in "src/" instead of "source/"
def_source_subdir := src
# Optionally specify headers live in "inc/" instead of "include/"
def_include_subdir := include
# Optionally specify resources live in "res/" instead of "resource/"
def_resource_subdir := res
# Specify a list of headers to make available to other components. These headers
# should exist in the include/ directory of the component.
#
# Each specified header will be copied to the build path as
# <build_path>/include/<name>/file.h. Other components may include these files by
# using #include <name/file.h>
header_list := file.h bar.h blaz.h
# Specify a list of source files to build for this component. These source
# files should exist in the source/ directory of the component.
source_list := file.c bar.c blaz.c fun.c help.c private.c
# Specify a lsit of resource files to copy to bin directory of the build path.
# These resource files should exist in the resource/ directory of the component.
resource_list := img/cat.jpg img/another_cat.jpg text/help.txt
# Specify a list of preprocessor definitions to set during the compilation.
definition_list := BUILD_COMPONENT=$(name) ENABLE_THIS_FEATURE
# Specify explicit include paths to use during compilation
include_path_list := /some/other/include
# Specify a list of libraries this component should link against. These libraries
# should be libraries which are part of the source tree and can be built. Only
# the library name should be specified.
source_lib_list := my_foo_lib my_bar_lib
# Specify a list of external libraries this component should link against. These
# libraries should exist outside of the source tree. Typically system libraries or
# third party libraries are set here. The toolchain will select the most
# appropriate option, which may be a shared or static library
lib_list := GL glut
# Specify a list of external libraries this component should link against. These
# libraries should exist outside of the source tree. Typically system libraries or
# third party libraries are set here. A static version of the library must be
# available for linking
static_lib_list := ssl
# Specify a list of library paths to use during the compilation of this component
lib_path_list := /some/other/lib
# Specify compiler flags to use for the components compilation
compiler_flag_list := -Wno-crappy-warnings
# Specify linker flags to use for this components compilation
link_flag_list := -Wl,foobar
# Specify additional dependencies build artifacts should have
def_deps := /my/global/dep