1 | # (C) Copyright Jeremy Siek 2001. |
---|
2 | # Distributed under the Boost Software License, Version 1.0. |
---|
3 | # (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) |
---|
4 | |
---|
5 | |
---|
6 | flags kcc CFLAGS <debug-symbols>on : -g ; |
---|
7 | flags kcc LINKFLAGS <debug-symbols>on : -g ; |
---|
8 | flags kcc LINKFLAGS <debug-symbols>off : -s ; |
---|
9 | flags kcc CFLAGS <optimization>off : +K0 ; |
---|
10 | flags kcc CFLAGS <optimization>speed : +K2 ; |
---|
11 | |
---|
12 | flags kcc CFLAGS <optimization>space : ; |
---|
13 | flags kcc CFLAGS <inlining>off : ; |
---|
14 | flags kcc CFLAGS <inlining>on : --inline_generated_space_time=10000 --inline_implicit_space_time=10000 --inline_keyword_space_time=10000 ; |
---|
15 | flags kcc CFLAGS <inlining>full : --inline_auto_space_time=10000 --inline_generated_space_time=10000 --inline_implicit_space_time=10000 --inline_keyword_space_time=10000 ; |
---|
16 | |
---|
17 | flags kcc CFLAGS <cflags> ; |
---|
18 | flags kcc C++FLAGS <cxxflags> ; |
---|
19 | flags kcc DEFINES <define> ; |
---|
20 | flags kcc UNDEFS <undef> ; |
---|
21 | flags kcc HDRS <include> ; |
---|
22 | flags kcc SYSHDRS <sysinclude> ; |
---|
23 | flags kcc LINKFLAGS <linkflags> ; |
---|
24 | flags kcc ARFLAGS <arflags> ; |
---|
25 | |
---|
26 | flags kcc LIBPATH <library-path> ; |
---|
27 | flags kcc NEEDLIBS <library-file> ; |
---|
28 | flags kcc FINDLIBS <find-library> ; |
---|
29 | |
---|
30 | |
---|
31 | set-as-singleton kcc.root-directory ; |
---|
32 | kcc.bin-directory = $(kcc.root-directory)$(SLASH)bin$(SLASH) ; |
---|
33 | kcc.bin-directory ?= " " ; |
---|
34 | |
---|
35 | #### Link #### |
---|
36 | |
---|
37 | rule Link-action |
---|
38 | { |
---|
39 | kcc-Link-action $(<) : $(>) ; |
---|
40 | } |
---|
41 | |
---|
42 | actions kcc-Link-action bind NEEDLIBS NEEDIMPS |
---|
43 | { |
---|
44 | $(kcc.bin-directory)KCC $(LINKFLAGS) -o "$(<[1])" -L$(STDLIBPATH) "$(>)" "$(NEEDLIBS)" "$(IMPLIB_FLAGS)$(NEEDIMPS)" -lm |
---|
45 | } |
---|
46 | |
---|
47 | #### Cc ##### |
---|
48 | |
---|
49 | rule Cc-action |
---|
50 | { |
---|
51 | kcc-Cc-action $(<) : $(>) ; |
---|
52 | } |
---|
53 | |
---|
54 | actions kcc-Cc-action |
---|
55 | { |
---|
56 | $(kcc.bin-directory)KCC -c $(CFLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<)" "$(>)" |
---|
57 | } |
---|
58 | |
---|
59 | #### C++ #### |
---|
60 | rule C++-action |
---|
61 | { |
---|
62 | kcc-C++-action $(<) : $(>) ; |
---|
63 | } |
---|
64 | |
---|
65 | actions kcc-C++-action |
---|
66 | { |
---|
67 | $(kcc.bin-directory)KCC -c -U$(UNDEFS) -D$(DEFINES) $(CFLAGS) $(C++FLAGS) -I"$(HDRS)" -I"$(STDHDRS)" -I"$(SYSHDRS)" -o "$(<)" "$(>)" |
---|
68 | } |
---|
69 | |
---|
70 | |
---|
71 | #### Archive #### |
---|
72 | rule Archive-action |
---|
73 | { |
---|
74 | kcc-Archive-action $(<) : $(>) ; |
---|
75 | } |
---|
76 | |
---|
77 | actions updated together piecemeal kcc-Archive-action |
---|
78 | { |
---|
79 | $(kcc.bin-directory)KCC -g $(ARFLAGS) -o "$(<)" "$(>)" |
---|
80 | } |
---|
81 | |
---|