Annotation of truecrypt/makefile, revision 1.1.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.