Annotation of truecrypt/makefile, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.