################################################## # Compiler Options # ################################################## CXX = %{cc} LIB_OPT = %{lib_opt} CHECK_OPT = %{check_opt} MACH_OPT = %{mach_opt} LANG_FLAGS = %{lang_flags} WARN_FLAGS = %{warn_flags} SO_OBJ_FLAGS = %{shared_flags} SO_LINK_CMD = %{so_link} LINK_TO = %{link_to} ################################################## # Version Numbers # ################################################## VERSION = %{version} ################################################## # Installation Settings # ################################################## DESTDIR = %{prefix} LIBDIR = $(DESTDIR)\%{libdir} HEADERDIR = $(DESTDIR)\%{includedir}\botan DOCDIR = $(DESTDIR)\%{docdir}\Botan-$(VERSION) ################################################## # Aliases for Common Programs # ################################################## AR = %{ar_command} CD = @cd ECHO = @echo INSTALL = %{install_cmd_exec} INSTALL_CMD = %{install_cmd_exec} MKDIR = @md MKDIR_INSTALL = @md RM = @del /Q RMDIR = @rmdir ################################################## # File Lists # ################################################## CHECK = check DOCS = %{doc_files} HEADERS = %{include_files} LIBOBJS = %{lib_objs} CHECKOBJS = %{check_objs} LIB_FLAGS = $(LIB_OPT) $(MACH_OPT) $(LANG_FLAGS) $(WARN_FLAGS) $(SO_OBJ_FLAGS) CHECK_FLAGS = $(CHECK_OPT) $(LANG_FLAGS) $(WARN_FLAGS) LIBRARIES = $(DLL) LIBNAME = libbotan DLL = $(LIBNAME).%{so_suffix} all: $(LIBRARIES) ################################################## # Build Commands # ################################################## %{lib_build_cmds} %{check_build_cmds} ################################################## # Link Commands # ################################################## $(CHECK): $(LIBRARIES) $(CHECKOBJS) link /OUT:$@.exe $(CHECKOBJS) $(DLL) $(LINK_TO) $(DLL): $(LIBOBJS) $(CXX) $(SO_LINK_CMD) /OUT:$@ /NAME:BOTAN-$(VERSION) $(LIBOBJS) ################################################## # Misc Targets # ################################################## dll: $(DLL) ################################################## # Fake Targets # ################################################## clean: $(RM) %{build_dir}\lib\* %{build_dir}\checks\* $(RM) $(LIBRARIES) $(CHECK) distclean: clean $(RM) %{build_dir}\build.h $(RM) %{build_dir}\include\botan\* $(RMDIR) %{build_dir}\include\botan %{build_dir}\include $(RMDIR) %{build_dir}\lib %{build_dir}\checks $(RMDIR) %{build_dir} $(RM) Makefile ################################################## # Install Commands # ################################################## install: $(LIBRARIES) $(ECHO) "Install command not implemented"