################################################## # 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 # ################################################## DESTDIR = @{var:prefix} LIBDIR = $(DESTDIR)\@{var:libdir} HEADERDIR = $(DESTDIR)\@{var:includedir}\botan DOCDIR = $(DESTDIR)\@{var:docdir}\Botan-$(VERSION) ################################################## # Aliases for Common Programs # ################################################## AR = @{var:ar_command} CD = @cd ECHO = @echo INSTALL = @{var:install_cmd_exec} INSTALL_CMD = @{var:install_cmd_exec} 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 # ################################################## # Link for Borland? #ilink32 -L$(BCB)\lib -w -c -x -Gn -ap -Tpe c0x32.obj \ # $(CHECKOBJS),check.exe,,$(LINK_TO) $(STATIC_LIB) $(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-dir}\lib\* @{var:build-dir}\checks\* $(RM) $(LIBRARIES) $(CHECK) distclean: clean $(RM) @{var:build-dir}\build.h $(RM) @{var:build-dir}\include\botan\* $(RMDIR) @{var:build-dir}\include\botan @{var:build-dir}\include $(RMDIR) @{var:build-dir}\lib @{var:build-dir}\checks $(RMDIR) @{var:build-dir} $(RM) Makefile ################################################## # Install Commands # ################################################## install: $(LIBRARIES) $(ECHO) "Install command not implemented"