|
|
1.1 ! root 1: # ! 2: # Copyright (c) 2008 TrueCrypt Foundation. All rights reserved. ! 3: # ! 4: # Governed by the TrueCrypt License 2.4 the full text of which is contained ! 5: # in the file License.txt included in TrueCrypt binary and source code ! 6: # distribution packages. ! 7: # ! 8: ! 9: #------ Command line arguments ------ ! 10: # DEBUG: Disable optimizations, enable debug checks ! 11: # DEBUGGER: Enable debugging information for use by debuggers ! 12: # NOSTRIP: Do not strip release binaries ! 13: # VERBOSE: Enable verbose messages ! 14: ! 15: #------ Targets ------ ! 16: # all ! 17: # clean ! 18: # wxbuild: Configure and build wxWidgets - source code must be located at $(WX_ROOT) ! 19: ! 20: ! 21: export APPNAME := truecrypt ! 22: export BASE_DIR := $(CURDIR) ! 23: export BUILD_INC := $(BASE_DIR)/Build/Include ! 24: ! 25: export TC_BUILD_CONFIG := Release ! 26: ! 27: ifeq "$(origin DEBUG)" "command line" ! 28: ifneq "$(DEBUG)" "0" ! 29: TC_BUILD_CONFIG := Debug ! 30: endif ! 31: endif ! 32: ! 33: ! 34: #------ Build configuration ------ ! 35: ! 36: export AR ?= ar ! 37: export CC ?= gcc ! 38: export CXX ?= g++ ! 39: export RANLIB ?= ranlib ! 40: ! 41: export CFLAGS := -W ! 42: export CXXFLAGS := -Wall ! 43: ! 44: C_CXX_FLAGS := -MMD -I$(BASE_DIR) -I$(BASE_DIR)/Crypto ! 45: C_CXX_FLAGS += -DBOOL=int -DFALSE=0 -DTRUE=1 ! 46: C_CXX_FLAGS += -D__int8=char -D__int16=short -D__int32=int '-D__int64=long long' # Tested in PlatformTest ! 47: ! 48: export LFLAGS := ! 49: export PKG_CONFIG_PATH ?= /usr/local/lib/pkgconfig ! 50: ! 51: WX_CONFIGURE_FLAGS := ! 52: export WXCONFIG_CFLAGS := ! 53: export WXCONFIG_CXXFLAGS := ! 54: WX_ROOT ?= .. ! 55: ! 56: ifneq "$(origin VERBOSE)" "command line" ! 57: MAKEFLAGS += -s ! 58: endif ! 59: ! 60: ! 61: #------ Release configuration ------ ! 62: ! 63: ifeq "$(TC_BUILD_CONFIG)" "Release" ! 64: ! 65: C_CXX_FLAGS += -O2 -fno-strict-aliasing # Do not enable strict aliasing ! 66: CXXFLAGS += -Wno-sign-compare -Wno-unused-parameter ! 67: export WX_BUILD_DIR ?= $(BASE_DIR)/wxrelease ! 68: WX_CONFIGURE_FLAGS += --disable-debug_flag --disable-debug_gdb --disable-debug_info ! 69: ! 70: else ! 71: ! 72: #------ Debug configuration ------ ! 73: ! 74: C_CXX_FLAGS += -DDEBUG ! 75: CXXFLAGS += -fno-default-inline -Wno-sign-compare -Wno-unused-parameter -Wno-unused-function -Wno-unused-variable ! 76: export WX_BUILD_DIR ?= $(BASE_DIR)/wxdebug ! 77: WX_CONFIGURE_FLAGS += --enable-debug_flag --disable-debug_gdb --disable-debug_info ! 78: ! 79: endif ! 80: ! 81: ! 82: #------ Debugger configuration ------ ! 83: ! 84: ifeq "$(origin DEBUGGER)" "command line" ! 85: ! 86: C_CXX_FLAGS += -ggdb ! 87: WX_CONFIGURE_FLAGS += --enable-debug_gdb --enable-debug_info ! 88: ! 89: endif ! 90: ! 91: ! 92: #------ Platform configuration ------ ! 93: ! 94: export PLATFORM ! 95: ! 96: ! 97: #------ Linux configuration ------ ! 98: ! 99: ifeq "$(shell uname -s)" "Linux" ! 100: ! 101: PLATFORM := Linux ! 102: C_CXX_FLAGS += -DTC_UNIX -DTC_LINUX ! 103: ! 104: ifeq "$(TC_BUILD_CONFIG)" "Release" ! 105: C_CXX_FLAGS += -fdata-sections -ffunction-sections ! 106: LFLAGS += -Wl,--gc-sections -Wl,--hash-style=sysv ! 107: WXCONFIG_CFLAGS += -fdata-sections -ffunction-sections ! 108: WXCONFIG_CXXFLAGS += -fdata-sections -ffunction-sections ! 109: endif ! 110: ! 111: endif ! 112: ! 113: ! 114: #------ Mac OS X configuration ------ ! 115: ! 116: ifeq "$(shell uname -s)" "Darwin" ! 117: ! 118: PLATFORM := MacOSX ! 119: APPNAME := TrueCrypt ! 120: C_CXX_FLAGS += -DTC_UNIX -DTC_BSD -DTC_MACOSX ! 121: ! 122: ifeq "$(TC_BUILD_CONFIG)" "Release" ! 123: C_CXX_FLAGS += -gfull ! 124: LFLAGS += -Wl,-dead_strip ! 125: WXCONFIG_CFLAGS += -gfull ! 126: WXCONFIG_CXXFLAGS += -gfull ! 127: endif ! 128: ! 129: ifdef ARCH ! 130: C_CXX_FLAGS += -arch $(ARCH) -isysroot $(SDK) ! 131: LFLAGS += -arch $(ARCH) -Wl,-syslibroot $(SDK) ! 132: WXCONFIG_CFLAGS += -arch $(ARCH) -isysroot $(SDK) ! 133: WXCONFIG_CXXFLAGS += -arch $(ARCH) -isysroot $(SDK) ! 134: endif ! 135: ! 136: endif ! 137: ! 138: ! 139: #------ FreeBSD configuration ------ ! 140: ! 141: ifeq "$(shell uname -s)" "FreeBSD" ! 142: ! 143: PLATFORM := FreeBSD ! 144: C_CXX_FLAGS += -DTC_UNIX -DTC_BSD -DTC_FREEBSD ! 145: ! 146: endif ! 147: ! 148: ! 149: CFLAGS := $(C_CXX_FLAGS) $(CFLAGS) $(EXTRA_CFLAGS) ! 150: CXXFLAGS := $(C_CXX_FLAGS) $(CXXFLAGS) $(EXTRA_CXXFLAGS) ! 151: LFLAGS := $(LFLAGS) $(EXTRA_LFLAGS) ! 152: ! 153: WX_CONFIGURE_FLAGS += --enable-unicode -disable-shared --disable-dependency-tracking --disable-compat26 --enable-exceptions --enable-std_string --enable-dataobj --enable-mimetype \ ! 154: --disable-protocol --disable-protocols --disable-url --disable-ipc --disable-sockets --disable-fs_inet --disable-ole --disable-docview --disable-clipboard \ ! 155: --disable-help --disable-html --disable-mshtmlhelp --disable-htmlhelp --disable-mdi --disable-metafile --disable-webkit \ ! 156: --disable-xrc --disable-aui --disable-postscript --disable-printarch \ ! 157: --disable-arcstream --disable-fs_archive --disable-fs_zip --disable-tarstream --disable-zipstream \ ! 158: --disable-animatectrl --disable-bmpcombobox --disable-calendar --disable-caret --disable-checklst --disable-collpane --disable-colourpicker --disable-comboctrl \ ! 159: --disable-datepick --disable-display --disable-dirpicker --disable-filepicker --disable-fontpicker --disable-grid --disable-dataviewctrl \ ! 160: --disable-listbook --disable-odcombobox --disable-sash --disable-searchctrl --disable-slider --disable-splitter --disable-togglebtn \ ! 161: --disable-toolbar --disable-tbarnative --disable-treebook --disable-toolbook --disable-tipwindow --disable-popupwin \ ! 162: --disable-commondlg --disable-aboutdlg --disable-coldlg --disable-finddlg --disable-fontdlg --disable-numberdlg --disable-splash \ ! 163: --disable-tipdlg --disable-progressdlg --disable-wizarddlg --disable-miniframe --disable-tooltips --disable-splines --disable-palette \ ! 164: --disable-richtext --disable-dialupman --disable-debugreport --disable-filesystem \ ! 165: --disable-graphics_ctx --disable-sound --disable-mediactrl --disable-joystick --disable-apple_ieee \ ! 166: --disable-gif --disable-pcx --disable-tga --disable-iff --disable-gif --disable-pnm \ ! 167: --without-expat --without-libtiff --without-libjpeg --without-libpng -without-regex --without-zlib ! 168: ! 169: ! 170: #------ Project build ------ ! 171: ! 172: PROJ_DIRS := Platform Volume Driver/Fuse Core Main ! 173: ! 174: .PHONY: all clean wxbuild ! 175: ! 176: all clean: ! 177: @for DIR in $(PROJ_DIRS); do \ ! 178: PROJ=$$(echo $$DIR | cut -d/ -f1); \ ! 179: $(MAKE) -C $$DIR -f $$PROJ.make NAME=$$PROJ $(MAKECMDGOALS) || exit $?; \ ! 180: export LIBS="$(BASE_DIR)/$$DIR/$$PROJ.a $$LIBS"; \ ! 181: done ! 182: ! 183: ! 184: #------ wxWidgets build ------ ! 185: ! 186: ifeq "$(MAKECMDGOALS)" "wxbuild" ! 187: CFLAGS := ! 188: CXXFLAGS := ! 189: LFLAGS := ! 190: endif ! 191: ! 192: wxbuild: ! 193: ! 194: ifneq "$(shell test -f $(WX_ROOT)/configure || test -f $(WX_BUILD_DIR)/../configure && echo 1)" "1" ! 195: @echo WX_ROOT must point to wxWidgets source code directory ! 196: @exit 1 ! 197: endif ! 198: ! 199: mkdir -p $(WX_BUILD_DIR) ! 200: @echo Configuring wxWidgets library... ! 201: cd $(WX_BUILD_DIR) && $(WX_ROOT)/configure $(WX_CONFIGURE_FLAGS) >/dev/null ! 202: ! 203: @echo Building wxWidgets library... ! 204: cd $(WX_BUILD_DIR) && make
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.