# Paths to relevant programs CXX = %{cxx} %{cxx_abi_flags} LINKER = %{linker} AR = %{ar_command} PYTHON_EXE = %{python_exe} # Compiler Flags LANG_FLAGS = %{cc_lang_flags} CXXFLAGS = %{cc_compile_flags} WARN_FLAGS = %{cc_warning_flags} SO_OBJ_FLAGS = %{shared_flags} LIB_LINK_CMD = %{lib_link_cmd} CLI_LINK_CMD = %{cli_link_cmd} TEST_LINK_CMD = %{test_link_cmd} LIB_LINKS_TO = %{link_to} CLI_LINKS_TO = %{link_to_botan} $(LIB_LINKS_TO) TEST_LINKS_TO = %{link_to_botan} $(LIB_LINKS_TO) LIB_FLAGS = $(SO_OBJ_FLAGS) $(LANG_FLAGS) $(CXXFLAGS) $(WARN_FLAGS) CLI_FLAGS = $(LANG_FLAGS) $(CXXFLAGS) $(WARN_FLAGS) TEST_FLAGS = $(LANG_FLAGS) $(CXXFLAGS) $(WARN_FLAGS) SCRIPTS_DIR = %{scripts_dir} INSTALLED_LIB_DIR = %{prefix}/%{libdir} CLI_POST_LINK_CMD = %{cli_post_link_cmd} TEST_POST_LINK_CMD = %{test_post_link_cmd} # Executable targets CLI = %{cli_exe} TEST = %{test_exe} # The primary target all: libs cli tests cli: $(CLI) tests: $(TEST) # Object Files LIBOBJS = %{lib_objs} CLIOBJS = %{cli_objs} TESTOBJS = %{test_objs} # Build Commands %{lib_build_cmds} %{cli_build_cmds} %{test_build_cmds} # Misc targets SPHINX_CONFIG = %{sphinx_config_dir} SPHINX_OPTS = -b html docs: %{build_doc_commands} clean: $(PYTHON_EXE) $(SCRIPTS_DIR)/cleanup.py --build-dir="%{build_dir}" distclean: $(PYTHON_EXE) $(SCRIPTS_DIR)/cleanup.py --build-dir="%{build_dir}" --distclean install: $(CLI) docs $(PYTHON_EXE) $(SCRIPTS_DIR)/install.py --prefix=%{prefix} --build-dir="%{build_dir}" --bindir=%{bindir} --libdir=%{libdir} --docdir=%{docdir} --includedir=%{includedir}