Mercurial > projects > doodle
annotate bob.cfg @ 139:e33f37b14893 default tip
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
author | David Bryant <bagnose@gmail.com> |
---|---|
date | Sun, 30 Sep 2012 15:41:25 +0930 |
parents | |
children |
rev | line source |
---|---|
139
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
1 ############################################################################### |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
2 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
3 # Example bob configuration file. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
4 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
5 # Used by 'bob-config' to establish a build directory, from which a 'bob' |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
6 # command will build your project. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
7 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
8 # This file should be located at the top level of a repository, below which |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
9 # are source directories. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
10 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
11 # Before running bob-config, you need to: |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
12 # * Check out the project's source repository(s). |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
13 # * Ensure that all the project's external dependencies are available, |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
14 # either in standard system locations or in local project-specific |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
15 # locations. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
16 # Bob does not verify external dependencies. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
17 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
18 # If your project is built for a number of target architectures, use |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
19 # one config file for each architecture, and specify which one on the bob-config |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
20 # command-line. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
21 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
22 ############################################################################### |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
23 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
24 # Top-level syntax is a series of sections, each starting with a line: |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
25 # [section-name] |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
26 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
27 # Comment lines begin with '#'. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
28 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
29 # The syntax for each section is section-specific, and described in each |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
30 # section. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
31 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
32 ############################################################################### |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
33 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
34 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
35 [defines] |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
36 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
37 # Define variables. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
38 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
39 # Any relative paths provided in variable definitions are relative to |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
40 # the directory this file is in, which is also the working directory |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
41 # of bob-config. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
42 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
43 # A variable definition is: name = text |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
44 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
45 # Variables used by bob are: |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
46 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
47 # PROJECT - Path to directory containing the project's top-level Bobfile. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
48 # REPOS - Paths to other repos (if any), below which are source |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
49 # directories that are available to build as part of this project. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
50 # SYS_INC - Non-standard paths searched for system includes. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
51 # SYS_LIB - Non-standard paths searched for system libraries. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
52 # SYS_PATH - Non-standard paths searched for system utilities. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
53 # SYS_IMP - Non-standard paths searched for D imports. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
54 # C_EXTERN - Top-level C/C++ packages that are external to the project. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
55 # D_EXTERN - Top-level D packages that are external to the project. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
56 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
57 # Also required are build commands. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
58 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
59 # Build-command variables are used by bob to create the output files specified |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
60 # in the project's Bobfile(s). They are of the form: |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
61 # <input-ext> <output-ext>(s) = command |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
62 # Reserved extensions with special meaning are: |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
63 # .obj -> object file |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
64 # .slib -> static library |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
65 # .dlib -> dynamic library |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
66 # .exe -> executable |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
67 # The extensions actually used vary with platform. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
68 # Libraries and executables are built from object files. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
69 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
70 # The commands that use object files to create libraries and executables are |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
71 # specified with the extension of the source files, not .obj. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
72 # .c source files may be mixed with other types of source files, |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
73 # but others may not. .h files are assumed to be header files. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
74 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
75 # Reserved variables defined by bob from information in Bobfiles are: |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
76 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
77 # INPUT - Paths of the input file(s) relative to the build dir. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
78 # OUTPUT - Paths of the resultant built file(s) relative to the build dir. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
79 # PROJ_INC - Project include or import paths. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
80 # PROJ_LIB - Project library paths. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
81 # LIBS - Required libraries. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
82 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
83 # ${} expands a variable, cross-multiplying it with whatever it is adjacent to. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
84 # eg, if HEADERS = one two three, then -I${HEADERS} becomes -Ione -Itwo -Ithree. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
85 # If the variable is empty, the cross-multiplication is also empty. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
86 # If there is no adjacent text, the variable's value is used. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
87 # Variable expansion occurs just before a build command is issued, after |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
88 # all dependencies are known. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
89 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
90 # Required |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
91 PROJECT = doodle |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
92 REPOS = |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
93 SYS_IMP = |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
94 SYS_INC = |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
95 SYS_LIB = |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
96 SYS_PATH = |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
97 C_EXTERN = |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
98 D_EXTERN = core std glib gdk gtk gtkc cairo |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
99 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
100 # Compiler switches |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
101 CFLAGS = -fpic -pedantic -Werror -Wall -Wno-long-long -Wundef -Wredundant-decls -DFILE_PATH=${INPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
102 C++FLAGS = ${CFLAGS} -Woverloaded-virtual -Wsign-promo -Wctor-dtor-privacy -Wnon-virtual-dtor |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
103 DFLAGS = -w -wi -gc -Isrc/gtk |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
104 LINKFLAGS = |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
105 DLINKFLAGS = -L-L/home/dbryant/source/d/GtkD |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
106 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
107 # Build commands |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
108 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
109 # Contrived example of source-code generation. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
110 .H .h = cp ${INPUT} ${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
111 .CPP .cpp = cp ${INPUT} ${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
112 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
113 # Documentation |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
114 .rst .html = rst2html ${INPUT} ${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
115 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
116 # Object files |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
117 .c .obj = gcc -c ${INPUT} -isystem${SYS_INC} -iquote${PROJ_INC} ${CFLAGS} -o ${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
118 .cpp .obj = g++ -c ${INPUT} -isystem${SYS_INC} -iquote${PROJ_INC} ${C++FLAGS} -o ${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
119 .d .obj = dmd -c ${INPUT} -I${SYS_IMP} -I${PROJ_INC} ${DFLAGS} -of${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
120 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
121 # Static libraries |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
122 .c .slib = rm -f ${OUTPUT} && ar csr ${OUTPUT} ${INPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
123 .cpp .slib = rm -f ${OUTPUT} && ar csr ${OUTPUT} ${INPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
124 .d .slib = rm -f ${OUTPUT} && ar csr ${OUTPUT} ${INPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
125 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
126 # Dynamic libraries |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
127 .c .dlib = gcc -shared ${INPUT} ${LINKFLAGS} -L${SYS_LIB} -L${PROJ_LIB} -l{LIBS} -o ${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
128 .cpp .dlib = g++ -shared ${INPUT} ${LINKFLAGS} -L${SYS_LIB} -L${PROJ_LIB} -l{LIBS} -o ${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
129 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
130 # Executables |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
131 .c .exe = gcc ${INPUT} ${LINKFLAGS} -L${SYS_LIB} -L${PROJ_LIB} -l${LIBS} -o ${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
132 .cpp .exe = g++ ${INPUT} ${LINKFLAGS} -L${SYS_LIB} -L${PROJ_LIB} -l${LIBS} -o ${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
133 .d .exe = dmd ${INPUT} ${DLINKFLAGS} -L-L${SYS_LIB} -L-L${PROJ_LIB} -L-l${LIBS} -of${OUTPUT} |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
134 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
135 [modes] |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
136 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
137 # For each mode, add to already-defined variables. |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
138 # Format of a mode is: the name of the mode, followed by indented |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
139 # variable additions. eg: |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
140 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
141 # debug |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
142 # CFLAGS += ggdb3 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
143 # |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
144 # Exactly one mode is in use for a given build directory, and is specified |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
145 # on the bob-config command line. eg: mode=debug |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
146 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
147 debug |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
148 CFLAGS += -O1 -ggdb3 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
149 C++FLAGS += -O1 -ggdb3 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
150 DFLAGS += |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
151 |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
152 release |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
153 CFLAGS += -O2 -NDEBUG |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
154 C++FLAGS += -O2 -NDEBUG |
e33f37b14893
Port to 'no-more-make' https://github.com/GrahamStJack/no-more-make
David Bryant <bagnose@gmail.com>
parents:
diff
changeset
|
155 DFLAGS += -O -release |