################################################## # Compiler Options # ################################################## CXX = @{var:cc} LIB_OPT = @{var:lib_opt} CHECK_OPT = @{var:check_opt} MACH_OPT = @{var:mach_opt} LANG_FLAGS = @{var:lang_flags} WARN_FLAGS = @{var:warn_flags} LINK_TO = @{var:link_to} ################################################## # Version Numbers # ################################################## MAJOR = @{var:version_major} MINOR = @{var:version_minor} PATCH = @{var:version_patch} VERSION = $(MAJOR).$(MINOR).$(PATCH) ################################################## # Installation Settings # ################################################## INSTALLROOT = @{var:prefix} LIBDIR = $(INSTALLROOT)\@{var:libdir} HEADERDIR = $(INSTALLROOT)\@{var:includedir}\botan DOCDIR = $(INSTALLROOT)\@{var:docdir}\Botan-$(VERSION) ################################################## # Aliases for Common Programs # ################################################## AR = @{var:ar_command} CD = @cd ECHO = @echo INSTALL = copy INSTALL_CMD = $(INSTALL) MKDIR = @md MKDIR_INSTALL = @md RM = @del /Q RMDIR = @rmdir ################################################## # File Lists # ################################################## CHECK = check DOCS = @{var:doc_files} HEADERS = @{var:include_files} LIBOBJS = @{var:lib_objs} CHECKOBJS = @{var:check_objs} LIB_FLAGS = $(LIB_OPT) $(MACH_OPT) $(LANG_FLAGS) $(WARN_FLAGS) CHECK_FLAGS = $(CHECK_OPT) $(LANG_FLAGS) $(WARN_FLAGS) LIBRARIES = $(STATIC_LIB) LIBNAME = libbotan STATIC_LIB = $(LIBNAME).@{var:static_suffix} all: $(LIBRARIES) ################################################## # Build Commands # ################################################## @{var:lib_build_cmds} @{var:check_build_cmds} ################################################## # Link Commands # ################################################## $(CHECK): $(LIBRARIES) $(CHECKOBJS) LINK /OUT:$@.exe $(CHECKOBJS) $(STATIC_LIB) $(LINK_TO) $(STATIC_LIB): $(LIBOBJS) $(AR) /OUT:$@ /NAME:BOTAN-$(VERSION) $(LIBOBJS) ################################################## # Misc Targets # ################################################## static: $(STATIC_LIB) ################################################## # Fake Targets # ################################################## clean: $(RM) @{var:build}\lib\* @{var:build}\checks\* $(RM) $(LIBRARIES) $(CHECK) distclean: clean $(RM) @{var:build}\include\botan\* $(RMDIR) @{var:build}\include\botan $(RMDIR) @{var:build}\lib @{var:build}\checks @{var:build}\include $(RMDIR) @{var:build} $(RM) Makefile ################################################## # Install Commands # ################################################## install: $(LIBRARIES) $(ECHO) "Install command not implemented"