# 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
