# This makefile was generated using '%{command_line}' # Paths to relevant programs CXX = %{cxx} LINKER = %{linker} AR = %{ar_command} AR_OPTIONS = %{ar_options} PYTHON_EXE = %{python_exe} # Compiler Flags ABI_FLAGS = %{cc_sysroot} %{cxx_abi_flags} LANG_FLAGS = %{cc_lang_flags} %{os_feature_macros} CXXFLAGS = %{cc_compile_flags} -DBOTAN_IS_BEING_BUILT WARN_FLAGS = %{cc_warning_flags} LIB_FLAGS = %{lib_flags} LDFLAGS = %{ldflags} EXE_LINK_CMD = %{exe_link_cmd} LIB_LINKS_TO = %{link_to} EXE_LINKS_TO = %{link_to_botan} $(LIB_LINKS_TO) BUILD_FLAGS = $(ABI_FLAGS) $(LANG_FLAGS) $(CXXFLAGS) $(WARN_FLAGS) SCRIPTS_DIR = %{scripts_dir} INSTALLED_LIB_DIR = %{libdir} # The primary target all: %{all_targets} # Executable targets CLI = %{cli_exe} TEST = %{test_exe} LIBRARIES = %{library_targets} cli: $(CLI) tests: $(TEST) libs: $(LIBRARIES) docs: %{doc_stamp_file} # Misc targets %{if make_supports_phony} .PHONY: all cli libs tests check docs clean distclean install %{endif} %{doc_stamp_file}: %{doc_dir}/*.rst %{doc_dir}/api_ref/*.rst %{doc_dir}/dev_ref/*.rst $(PYTHON_EXE) $(SCRIPTS_DIR)/build_docs.py --build-dir="%{build_dir}" clean: $(PYTHON_EXE) $(SCRIPTS_DIR)/cleanup.py --build-dir="%{build_dir}" distclean: $(PYTHON_EXE) $(SCRIPTS_DIR)/cleanup.py --build-dir="%{build_dir}" --distclean install: %{install_targets} $(PYTHON_EXE) $(SCRIPTS_DIR)/install.py --prefix="%{prefix}" --build-dir="%{build_dir}" --bindir=%{bindir} --libdir=%{libdir} --docdir=%{docdir} --includedir=%{includedir} check: tests $(PYTHON_EXE) $(SCRIPTS_DIR)/check.py --build-dir="%{build_dir}" # Object Files LIBOBJS = %{join lib_objs} CLIOBJS = %{join cli_objs} TESTOBJS = %{join test_objs} # Executable targets $(CLI): $(LIBRARIES) $(CLIOBJS) $(EXE_LINK_CMD) $(ABI_FLAGS) $(CLIOBJS) $(EXE_LINKS_TO) $(LDFLAGS) %{output_to_exe}$@ $(TEST): $(LIBRARIES) $(TESTOBJS) $(EXE_LINK_CMD) $(ABI_FLAGS) $(TESTOBJS) $(EXE_LINKS_TO) $(LDFLAGS) %{output_to_exe}$@ %{if build_fuzzers} FUZZERS = %{fuzzer_bin} fuzzers: $(LIBRARIES) $(FUZZERS) fuzzer_corpus: git clone --depth=1 https://github.com/randombit/crypto-corpus.git fuzzer_corpus fuzzer_corpus_zip: fuzzer_corpus ./src/scripts/create_corpus_zip.py fuzzer_corpus %{fuzzobj_dir} %{endif} %{if build_bogo_shim} bogo_shim: %{out_dir}/botan_bogo_shim # BoGo shim %{out_dir}/botan_bogo_shim: %{bogo_shim_src} $(LIBRARIES) $(CXX) $(BUILD_FLAGS) %{include_paths} %{bogo_shim_src} $(EXE_LINKS_TO) $(LDFLAGS) %{output_to_exe}$@ %{endif} # Library targets %{if build_static_lib} %{out_dir}/%{static_lib_name}: $(LIBOBJS) $(AR) $(AR_OPTIONS) %{ar_output_to}$@ $(LIBOBJS) %{endif} %{if build_shared_lib} %{out_dir}/%{shared_lib_name}: $(LIBOBJS) %{lib_link_cmd} $(ABI_FLAGS) $(LDFLAGS) $(LIBOBJS) $(LIB_LINKS_TO) %{output_to_exe}$@ %{endif} %{if symlink_shared_lib} cd %{out_dir} && ln -fs %{shared_lib_name} %{soname_base} cd %{out_dir} && ln -fs %{shared_lib_name} %{soname_patch} %{endif} # Build Commands %{for lib_build_info} %{obj}: %{src} $(CXX) $(LIB_FLAGS) $(BUILD_FLAGS) %{isa_flags} %{include_paths} %{dash_c} %{src} %{dash_o}$@ %{endfor} %{for cli_build_info} %{obj}: %{src} $(CXX) $(BUILD_FLAGS) %{isa_flags} %{include_paths} %{dash_c} %{src} %{dash_o}$@ %{endfor} %{for test_build_info} %{obj}: %{src} $(CXX) $(BUILD_FLAGS) %{isa_flags} %{include_paths} %{dash_c} %{src} %{dash_o}$@ %{endfor} %{for fuzzer_build_info} %{obj}: %{src} $(CXX) $(BUILD_FLAGS) %{isa_flags} %{include_paths} %{dash_c} %{src} %{dash_o}$@ %{exe}: %{obj} $(LIBRARIES) $(EXE_LINK_CMD) $(ABI_FLAGS) %{obj} $(EXE_LINKS_TO) %{fuzzer_lib} %{output_to_exe}$@ %{endfor}