| # Copyright 2018 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| LOCAL_DIR := $(GET_LOCAL_DIR) |
| |
| # |
| # BANJO compiler host tests. |
| # |
| |
| MODULE := $(LOCAL_DIR) |
| |
| MODULE_TYPE := hosttest |
| |
| MODULE_NAME := banjo-compiler-test |
| |
| EXAMPLE_DIR := system/host/banjo/examples/ |
| |
| EXAMPLE_FILES := \ |
| $(EXAMPLE_DIR)/alignment.banjo \ |
| $(EXAMPLE_DIR)/empty.banjo \ |
| $(EXAMPLE_DIR)/enums.banjo \ |
| $(EXAMPLE_DIR)/events.banjo \ |
| $(EXAMPLE_DIR)/example-0.banjo \ |
| $(EXAMPLE_DIR)/example-1.banjo \ |
| $(EXAMPLE_DIR)/example-2.banjo \ |
| $(EXAMPLE_DIR)/example-3.banjo \ |
| $(EXAMPLE_DIR)/example-4.banjo \ |
| $(EXAMPLE_DIR)/example-5.banjo \ |
| $(EXAMPLE_DIR)/example-6.banjo \ |
| $(EXAMPLE_DIR)/example-7.banjo \ |
| $(EXAMPLE_DIR)/example-8.banjo \ |
| $(EXAMPLE_DIR)/example-9.banjo \ |
| $(EXAMPLE_DIR)/interface-ordinals.banjo \ |
| $(EXAMPLE_DIR)/library-a/point.banjo \ |
| $(EXAMPLE_DIR)/library-b/view.banjo \ |
| $(EXAMPLE_DIR)/simple.banjo \ |
| $(EXAMPLE_DIR)/tables.banjo \ |
| $(EXAMPLE_DIR)/test.banjo \ |
| $(EXAMPLE_DIR)/types.banjo \ |
| $(LOCAL_DIR)/testdata/goodformat.banjo \ |
| $(LOCAL_DIR)/testdata/badformat.banjo.noformat \ |
| |
| BUILDGEN_DIR=$(BUILDDIR)/system/utest/banjo-compiler |
| |
| $(BUILDGEN_DIR)/examples.cpp: $(EXAMPLE_FILES) |
| @$(MKDIR) |
| $(call BUILDECHO, generating BANJO test example file) |
| $(NOECHO)rm -rf $@ && \ |
| printf "\ |
| #include <map>\n\ |
| #include <string>\n\ |
| #include \"examples.h\"\n\ |
| // Autogenerated: Do not modify!\n\ |
| std::map<std::string, std::string> Examples::map_ = {\n" >> $@ && \ |
| for i in $^; do \ |
| printf " {\""$${i}"\", R\"BANJO(""$$(cat $${i})"")BANJO\"}," >> $@; \ |
| done && \ |
| printf "\ |
| };\n" >> $@ \ |
| |
| |
| MODULE_SRCS := \ |
| $(LOCAL_DIR)/main.cpp \ |
| $(LOCAL_DIR)/dup_attributes_tests.cpp \ |
| $(LOCAL_DIR)/flat_ast_tests.cpp \ |
| $(LOCAL_DIR)/formatter_unittests.cpp \ |
| $(LOCAL_DIR)/json_generator_tests.cpp \ |
| $(LOCAL_DIR)/max_bytes_tests.cpp \ |
| $(LOCAL_DIR)/max_handle_tests.cpp \ |
| $(LOCAL_DIR)/parsing_tests.cpp \ |
| $(LOCAL_DIR)/superinterface_tests.cpp \ |
| $(LOCAL_DIR)/using_tests.cpp \ |
| $(LOCAL_DIR)/visitor_unittests.cpp \ |
| $(BUILDGEN_DIR)/examples.cpp \ |
| |
| MODULE_COMPILEFLAGS := \ |
| -Isystem/ulib/unittest/include \ |
| -Isystem/utest/banjo-compiler \ |
| |
| MODULE_HOST_LIBS := \ |
| system/host/banjo \ |
| system/ulib/pretty.hostlib \ |
| system/ulib/unittest.hostlib \ |
| |
| MODULE_PACKAGE_INCS := \ |
| $(LOCAL_DIR)/examples.h \ |
| |
| include make/module.mk |