Annotation of sbbs/build/common.bmake, revision 1.1

1.1     ! root        1: # build/Common.bmake
        !             2: #
        !             3: # Global build system setup file for Borland Make/BCC
        !             4: #
        !             5: # $Id: Common.bmake,v 1.38 2004/09/23 18:12:04 rswindell Exp $
        !             6: #
        !             7: #############################################################################
        !             8: #                                                                                                                                                      #
        !             9: # Common macro setup for Borland make                                                                          #
        !            10: #                                                                                                                                                      #
        !            11: # Common Build Macros REQUIRED:                                                                                                #
        !            12: #  SRC_ROOT                    - *MUST* be set to the src dir                                                  #
        !            13: #                                                                                                                                                      #
        !            14: # Common Build Macros Used:                                                                                                    #
        !            15: #  DEBUG                       - Create a debug build                                                                  #
        !            16: #  RELEASE                     - Create a release build                                                                #
        !            17: #                                        (Mutually exclusive, if both are set, RELEASE                 #
        !            18: #                                              is cleared)                                                                                     #
        !            19: #  DONT_CLOBBER_CC     - Do not change the default setting of CC                               #
        !            20: #  OBJPATH_SUFFIX      - Suffix appended to OBJPATH usefull for compiling              #
        !            21: #                                        different options of the same source file                             #
        !            22: #                                                                                                                                                      #
        !            23: # Common Build Macros Defined:                                                                                         #
        !            24: #  DELETE                      - Delete files (Preferrably verbose)                                    #
        !            25: #  OBJODIR                     - Object output dir                                                                             #
        !            26: #  LIBODIR                     - Library output dir                                                                    #
        !            27: #  EXEODIR                     - Executable output dir                                                                 #
        !            28: #  DEBUG                       - Set for debug builds                                                                  #
        !            29: #  RELEASE                     - Set for release builds                                                                #
        !            30: #                                        One of DEBUG or RELEASE is always set!                                #
        !            31: #  QUIET                       - Target command prefix to show/not show commands               #
        !            32: #                                        (Toggled off by setting VERBOSE)                                              #
        !            33: #  CFLAGS                      - Common C and C++ compiler flags                                               #
        !            34: #  CCFLAGS                     - C specific compiler flags                                                             #
        !            35: #  CXXFLAGS                    - C++ specific compiler flags                                                   #
        !            36: #  LDFLAGS                     - Linker flags                                                                                  #
        !            37: #  CC                          - C compiler                                                                                    #
        !            38: #  CXX                         - C++ compiler                                                                                  #
        !            39: #  EXEFILE                     - Executable file extension (Includes .)                                #
        !            40: #  OFILE                       - Object file extension (Includes .)                                    #
        !            41: #  SOFILE                      - Shared object (DLL) file extension (Includes .)               #
        !            42: #  LIBFILE                     - Static library file extension (Include .)                             #
        !            43: #  LIBPREFIX           - Prefix to library filename                                                    #
        !            44: #  LIBS                                - Library names (Appropriate for dependencies)                  #
        !            45: #  LIB_LDFLAGS         - Libraries appropriate for link command-line usage             #
        !            46: #  COMPILE_MSG         - Message saying a target is being compiled                             #
        !            47: #  DIRSEP                      - The directory seperator this system likes most                #
        !            48: #  VERSION                     - Synchronet version number in MAJOR.MINOR format               #
        !            49: #                                        (Numeric ONLY)                                                                                #
        !            50: #  OUTPUT                      - Compiler flag specifying output filename                              #
        !            51: #  LOUTPUT                     - Linker flag specifying output filename                                #
        !            52: #  XPDEV_SRC           - Path to xpdev                                                                                 #
        !            53: #  UIFC_SRC                    - Path to uifc                                                                                  #
        !            54: #  CIOLIB_SRC          - Path to ciolib                                                                                #
        !            55: #  SMBLIB_SRC          - Path to smblib                                                                                #
        !            56: #  MT_CFLAGS           - CFLAGS for building MT objects                                                #
        !            57: #  MT_LDFLAGS          - LDFLAGS for linking MT targets                                                #
        !            58: #  UL_PRE           - Use Library prefix (*nix is -l)                       #
        !            59: #  UL_SUF           - Use Library siffix (bcc is .lib)                      #
        !            60: #                                                                                                                                                      #
        !            61: # Common Targets Defined:                                                                                                      #
        !            62: #  Implicit C and C++ targets                                                                                          #
        !            63: #  "clean" target                                                                                                                      # 
        !            64: #  Output directory targets                                                                                                    #
        !            65: #                                                                                                                                                      #
        !            66: #############################################################################
        !            67: 
        !            68: .autodepend
        !            69: .cacheautodepend
        !            70: 
        !            71: # Macros
        !            72: # Set VERSION
        !            73: !ifndef VERSION
        !            74:  VERSION       =       3.12
        !            75: !endif
        !            76: 
        !            77: # Set DEBUG
        !            78: !ifdef DEBUG
        !            79: ! ifdef RELEASE
        !            80: !  undef RELEASE
        !            81: ! endif
        !            82: !endif
        !            83: 
        !            84: !ifndef DEBUG
        !            85: ! ifndef RELEASE
        !            86:   DEBUG        =       1
        !            87: ! endif
        !            88: !endif
        !            89: 
        !            90: # VERBOSE/QUIET
        !            91: !ifndef VERBOSE
        !            92:  QUIET =       @
        !            93: !endif
        !            94: 
        !            95: # OS-specific
        !            96: DIRSEP =       \       # This comment is necessary
        !            97: EXEFILE        =       .exe
        !            98: OFILE  =       .obj
        !            99: SOFILE =       .dll
        !           100: LIBFILE        =       .lib
        !           101: DELETE =       echo y | del 
        !           102: IFNOTEXIST = if not exist $@
        !           103: UL_PRE =       
        !           104: UL_SUF =       $(LIBFILE)
        !           105: 
        !           106: # Compiler-specific
        !           107: !ifdef msc     # Microsoft Visual C++
        !           108: CC             =       cl
        !           109: LD             =       link
        !           110: CCPRE  =       msvc.win32
        !           111: OUTPUT =       -Fo
        !           112: LOUTPUT        =       -Fe
        !           113: CFLAGS  =      -nologo -MTd
        !           114: LDFLAGS        =       $(CFLAGS)
        !           115: !ifdef DEBUG
        !           116:  CFLAGS        =       $(CFLAGS) -Yd
        !           117: !endif
        !           118: 
        !           119: !else          # Borland C++
        !           120: 
        !           121: CC             =       bcc32
        !           122: CCPRE  =       bcc
        !           123: LD             =       ilink32
        !           124: OUTPUT =       -o
        !           125: LOUTPUT        =       $(OUTPUT)
        !           126: CFLAGS =       -q 
        !           127: LDFLAGS        =       $(CFLAGS)
        !           128: CFLAGS  =      $(CFLAGS) -M -X-
        !           129: MT_CFLAGS = -WM 
        !           130: MT_LDFLAGS = -WM 
        !           131: !ifdef DEBUG
        !           132:  CFLAGS        =       $(CFLAGS) -v
        !           133: !endif
        !           134: !endif
        !           135: 
        !           136: # Common compiler flags
        !           137: !ifdef DEBUG
        !           138: CFLAGS =       $(CFLAGS) -Od -D_DEBUG 
        !           139: !endif
        !           140: 
        !           141: # Debug or release build?
        !           142: !ifdef DEBUG
        !           143: BUILDPATH      =       debug
        !           144: !else
        !           145: BUILDPATH      =       release
        !           146: !endif
        !           147: 
        !           148: OBJODIR =      $(CCPRE).win32.obj.$(BUILDPATH)
        !           149: MTOBJODIR =    $(CCPRE).win32.obj.$(BUILDPATH)_mt
        !           150: LIBODIR =      $(CCPRE).win32.lib.$(BUILDPATH)
        !           151: EXEODIR =      $(CCPRE).win32.exe.$(BUILDPATH)
        !           152: 
        !           153: # Paths
        !           154: XPDEV_SRC      =       $(SRC_ROOT)$(DIRSEP)xpdev
        !           155: CIOLIB_SRC     =       $(SRC_ROOT)$(DIRSEP)conio
        !           156: SMBLIB_SRC     =       $(SRC_ROOT)$(DIRSEP)smblib
        !           157: UIFC_SRC       =       $(SRC_ROOT)$(DIRSEP)uifc
        !           158: 
        !           159: # Pull in lib-specific flags
        !           160: !include     $(CIOLIB_SRC)$(DIRSEP)Common.make
        !           161: !include     $(UIFC_SRC)$(DIRSEP)Common.make
        !           162: !include     $(SMBLIB_SRC)$(DIRSEP)Common.make
        !           163: !include     $(XPDEV_SRC)$(DIRSEP)Common.make
        !           164: 
        !           165: .path.c                =       .
        !           166: .path.cpp      =       .
        !           167: 
        !           168: !include targets.mk
        !           169: !include $(SRC_ROOT)/build/rules.mk
        !           170: !include objects.mk            # defines $(OBJS)
        !           171: 
        !           172: .SUFFIXES
        !           173: .SUFFIXES .cpp .c
        !           174: # Implicit C Compile Rule
        !           175: .c{$(OBJODIR)}$(OFILE):
        !           176:        $(QUIET)$(CC) $(CFLAGS) $(CCFLAGS) -n$(OBJODIR) -c $< $(OUTPUT)$@
        !           177: 
        !           178: # Implicit C++ Compile Rule
        !           179: .cpp{$(OBJODIR)}$(OFILE):
        !           180:        $(QUIET)$(CC) $(CFLAGS) $(CXXFLAGS) -n$(OBJODIR) -c $< $(OUTPUT)$@
        !           181: 
        !           182: # Implicit MT C Compile Rule
        !           183: .c{$(MTOBJODIR)}$(OFILE):
        !           184:        $(QUIET)$(CC) $(CFLAGS) $(CCFLAGS) -n$(MTOBJODIR) $(MT_CFLAGS) -c $< $(OUTPUT)$@
        !           185: 
        !           186: # Implicit MT C++ Compile Rule
        !           187: .cpp{$(MTOBJODIR)}$(OFILE):
        !           188:        $(QUIET)$(CC) $(CFLAGS) $(CXXFLAGS) -n$(MTOBJODIR) $(MT_CFLAGS) -c $< $(OUTPUT)$@
        !           189: 
        !           190: $(XPDEV_LIB): xpdev
        !           191: xpdev:
        !           192:        $(COMSPEC) <<|
        !           193:        set VERSION=$(VERSION)
        !           194:        set DEBUG=$(DEBUG)
        !           195:        set RELEASE=$(RELEASE)
        !           196:        set VERBOSE=$(VERBOSE)
        !           197:        cd $(XPDEV_SRC)
        !           198:        $(MAKE) -$(MAKEFLAGS) lib
        !           199:        exit
        !           200: |
        !           201: 
        !           202: $(XPDEV-MT_LIB): xpdev-mt
        !           203: xpdev-mt:
        !           204:        $(COMSPEC) <<|
        !           205:        set VERSION=$(VERSION)
        !           206:        set DEBUG=$(DEBUG)
        !           207:        set RELEASE=$(RELEASE)
        !           208:        set VERBOSE=$(VERBOSE)
        !           209:        cd $(XPDEV_SRC)
        !           210:        $(MAKE) -$(MAKEFLAGS) mtlib
        !           211:        exit
        !           212: |
        !           213: 
        !           214: $(SMBLIB): smblib
        !           215: smblib:
        !           216:        $(COMSPEC) <<|
        !           217:        set VERSION=$(VERSION)
        !           218:        set DEBUG=$(DEBUG)
        !           219:        set RELEASE=$(RELEASE)
        !           220:        set VERBOSE=$(VERBOSE)
        !           221:        cd $(SMBLIB_SRC)
        !           222:        $(MAKE) -$(MAKEFLAGS) lib
        !           223:        exit
        !           224: |
        !           225: 
        !           226: $(CIOLIB-MT): ciolib-mt
        !           227: ciolib-mt:
        !           228:        $(COMSPEC) <<|
        !           229:        set VERSION=$(VERSION)
        !           230:        set DEBUG=$(DEBUG)
        !           231:        set RELEASE=$(RELEASE)
        !           232:        set VERBOSE=$(VERBOSE)
        !           233:        cd $(CIOLIB_SRC)
        !           234:        $(MAKE) -$(MAKEFLAGS) mtlib
        !           235:        exit
        !           236: |
        !           237: 
        !           238: $(UIFCLIB): uifc
        !           239: uifc:
        !           240:        $(COMSPEC) <<|
        !           241:        set VERSION=$(VERSION)
        !           242:        set DEBUG=$(DEBUG)
        !           243:        set RELEASE=$(RELEASE)
        !           244:        set VERBOSE=$(VERBOSE)
        !           245:        cd $(UIFC_SRC)
        !           246:        $(MAKE) -$(MAKEFLAGS) lib
        !           247:        exit
        !           248: |
        !           249: 
        !           250: $(UIFCLIB-MT): uifc-mt
        !           251: uifc-mt:
        !           252:        $(COMSPEC) <<|
        !           253:        set VERSION=$(VERSION)
        !           254:        set DEBUG=$(DEBUG)
        !           255:        set RELEASE=$(RELEASE)
        !           256:        set VERBOSE=$(VERBOSE)
        !           257:        cd $(UIFC_SRC)
        !           258:        $(MAKE) -$(MAKEFLAGS) mtlib
        !           259:        exit
        !           260: |

unix.superglobalmegacorp.com

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