Home | History | Annotate | Download | only in libmojo
      1 # Copyright 2016 The Chromium OS 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 
      5 LOCAL_MOJO_ROOT := $(call my-dir)
      6 
      7 include $(LOCAL_MOJO_ROOT)/build_mojom_template_tools.mk
      8 
      9 MOJOM_TEMPLATE_SOURCES := $(shell find \
     10 	$(LOCAL_MOJO_ROOT)/mojo/public/tools/bindings/generators -name '*.tmpl')
     11 
     12 generated_templates_dir := \
     13 	$(call generated-sources-dir-for,SHARED_LIBRARIES,libmojo,,)/templates
     14 
     15 gen := $(generated_templates_dir)/.stamp
     16 sources := $(MOJOM_TEMPLATE_SOURCES)
     17 $(gen) : PRIVATE_TOOL := $(MOJOM_BINDINGS_GENERATOR)
     18 $(gen) : PRIVATE_OUT_DIR := $(generated_templates_dir)
     19 $(gen) : $(sources) $(MOJOM_TEMPLATE_TOOLS)
     20 	@echo generate_mojo_templates: $(PRIVATE_OUT_DIR)
     21 	$(hide) rm -rf $(dir $@)
     22 	$(hide) mkdir -p $(dir $@)
     23 	$(hide) python $(PRIVATE_TOOL) --use_bundled_pylibs precompile \
     24 		-o $(PRIVATE_OUT_DIR)
     25 	$(hide) touch $@
     26 
     27 # Make the files that are actually generated depend on the .stamp file.
     28 $(generated_templates_dir)/cpp_templates.zip: $(gen)
     29 	$(hide) touch $@
     30 
     31 $(generated_templates_dir)/java_templates.zip: $(gen)
     32 	$(hide) touch $@
     33 
     34 $(generated_templates_dir)/js_templates.zip: $(gen)
     35 	$(hide) touch $@
     36