[SyncFS] Build indexes from FileTracker entries on disk.
[chromium-blink-merge.git] / native_client_sdk / src / resources / Makefile.library.template
blobf36bdd91cdebfcd9409485bec04be41e34e86eaa
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 [[def ExpandDict(key, value_in, pre_list=[], post_list=[]):]]
5 [[  value = value_in or [] ]]
6 [[  pre = pre_list or [] ]]
7 [[  post = post_list or [] ]]
8 [[  if type(value) is not dict:]]
9 [[    out = pre]]
10 [[    out.extend(value)]]
11 [[    out.extend(post)]]
12 [[    if out:]]
13 {{key}} = {{' '.join(out)}}
14 [[    ]]
15 [[    return]]
16 [[  ]]
17 [[  for subkey in value:]]
18 [[    out = pre]]
19 [[    out.extend(value[subkey])]]
20 [[    out.extend(post)]]
21 {{key}}_{{subkey}} = {{' '.join(out)}}
22 [[  ]]
23 {{key}} = $({{key}}_$(TOOLCHAIN))
24 [[]]
26 [[target = targets[0] ]]
27 # GNU Makefile based on shared rules provided by the Native Client SDK.
28 # See README.Makefiles for more details.
30 VALID_TOOLCHAINS := {{' '.join(tools)}}
31 NACL_SDK_ROOT ?= $(abspath $(CURDIR)/../..)
32 [[if 'INCLUDES' in target:]]
33 EXTRA_INC_PATHS={{' '.join(target['INCLUDES'])}}
34 [[]]
36 include $(NACL_SDK_ROOT)/tools/common.mk
38 TARGET = {{target['NAME']}}
39 [[ExpandDict('DEPS', targets[0].get('DEPS', []))]]
40 [[ExpandDict('LIBS', targets[0].get('LIBS', []), pre_list=['$(DEPS)'])]]
41 [[flags = target.get('CFLAGS', [])]]
42 [[flags.extend(target.get('CXXFLAGS', []))]]
43 [[ExpandDict('CFLAGS', flags)]]
44 [[if 'CFLAGS_GCC' in target:]]
45 ifneq ($(TOOLCHAIN),pnacl)
46 CFLAGS += {{' '.join(target['CFLAGS_GCC'])}}
47 endif
48 [[]]
50 [[for define in target.get('DEFINES', []):]]
51 CFLAGS += -D{{define}}
52 [[]]
54 SOURCES = \
55 [[for source in sorted(target['SOURCES']):]]
56   {{source}} \
57 [[]]
59 all: install
61 # Build rules generated by macros from common.mk:
63 [[if targets[0].get('DEPS'):]]
64 $(foreach dep,$(DEPS),$(eval $(call DEPEND_RULE,$(dep))))
65 [[]]
66 $(foreach src,$(SOURCES),$(eval $(call COMPILE_RULE,$(src),$(CFLAGS))))
67 $(eval $(call LIB_RULE,$(TARGET),$(SOURCES)))
69 [[if target['TYPE'] != 'static-lib':]]
70 ifneq (,$(findstring $(TOOLCHAIN),glibc bionic))
71 $(eval $(call SO_RULE,$(TARGET),$(SOURCES),$(LIBS),$(DEPS)))
72 endif
73 [[]]
74 {{post}}