Annotation of sbbs/sbbs3/makefile.gnu, revision 1.1

1.1     ! root        1: # Makefile.gnu
        !             2: 
        !             3: #########################################################################
        !             4: # Makefile for Synchronet BBS                                                                                  #
        !             5: # For use with GNU make and GNU C Compiler                                                             #
        !             6: # @format.tab-size 4, @format.use-tabs true                                                            #
        !             7: #                                                                                                                                              #
        !             8: # Linux: make -f Makefile.gnu                                                                                  #
        !             9: # Win32: make -f Makefile.gnu os=win32                                                                 #
        !            10: #                                                                                                                                              #
        !            11: # Optional build targets: dlls, utils, mono, all (default)                             #
        !            12: #########################################################################
        !            13: 
        !            14: # $Id: Makefile.gnu,v 1.22 2000/11/14 00:16:15 rswindell Exp $
        !            15: 
        !            16: # Macros
        !            17: DEBUG  =       1               # Comment out for release (non-debug) version
        !            18: CC             =       gcc
        !            19: SLASH  =       /
        !            20: OFILE  =       o
        !            21: 
        !            22: ifeq ($(os),win32)     # Windows
        !            23: 
        !            24: LD             =       dllwrap
        !            25: LIBFILE        =       .dll
        !            26: EXEFILE        =       .exe
        !            27: LIBODIR        :=      gcc.win32.dll
        !            28: EXEODIR        :=      gcc.win32.exe
        !            29: LIBDIR :=      /gcc/i386-mingw32/lib
        !            30: CFLAGS :=      -mno-cygwin
        !            31: LFLAGS  :=     --target=i386-mingw32 -mno-cygwin
        !            32: DELETE =       echo y | del 
        !            33: OUTLIB =       --output-lib
        !            34: LIBS   =       $(LIBDIR)/libwsock32.a $(LIBDIR)/libwinmm.a
        !            35: 
        !            36: else   # Linux
        !            37: 
        !            38: LD             =       ld
        !            39: LIBFILE        =       .a
        !            40: EXEFILE        =       
        !            41: LIBODIR        :=      gcc.linux.lib
        !            42: EXEODIR        :=      gcc.linux.exe
        !            43: LIBDIR :=      /usr/lib
        !            44: CFLAGS :=      
        !            45: LFLAGS  :=     
        !            46: DELETE =       rm -f -v
        !            47: OUTLIB =       -o
        !            48: LIBS   =       $(LIBDIR)/libpthread.a
        !            49: 
        !            50: endif
        !            51: 
        !            52: ifdef DEBUG
        !            53: CFLAGS :=      $(CFLAGS) -g -O0 -D_DEBUG 
        !            54: LIBODIR        :=      $(LIBODIR).debug
        !            55: EXEODIR        :=      $(EXEODIR).debug
        !            56: else
        !            57: LFLAGS :=      $(LFLAGS) -S
        !            58: LIBODIR        :=      $(LIBODIR).release
        !            59: EXEODIR        :=      $(EXEODIR).release
        !            60: endif
        !            61: 
        !            62: include targets.mak            # defines all targets
        !            63: include objects.mak            # defines $(OBJS)
        !            64: include headers.mak            # defines $(HEADERS)
        !            65: include sbbsdefs.mak   # defines $(SBBSDEFS)
        !            66: 
        !            67: SBBSLIB        =       $(LIBODIR)/sbbs.a
        !            68:        
        !            69: 
        !            70: # Implicit C Compile Rule for SBBS
        !            71: $(LIBODIR)/%.o : %.c
        !            72:        $(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
        !            73: 
        !            74: # Implicit C++ Compile Rule for SBBS
        !            75: $(LIBODIR)/%.o : %.cpp
        !            76:        $(CC) $(CFLAGS) -c $(SBBSDEFS) $< -o $@
        !            77: 
        !            78: # Create output directories
        !            79: $(LIBODIR):
        !            80:        mkdir $(LIBODIR)
        !            81: 
        !            82: $(EXEODIR):
        !            83:        mkdir $(EXEODIR)
        !            84: 
        !            85: # Monolithic Synchronet executable Build Rule
        !            86: $(SBBSMONO): sbbscon.c conwrap.c $(OBJS) $(LIBODIR)/ver.o $(LIBODIR)/ftpsrvr.o $(LIBODIR)/mailsrvr.o $(LIBODIR)/mxlookup.o
        !            87:        $(CC) -o $(SBBSMONO) $^ $(LIBS)
        !            88: 
        !            89: # Synchronet BBS library Link Rule
        !            90: $(SBBS): $(OBJS) $(LIBODIR)/ver.o
        !            91:        $(LD) $(LFLAGS) -o $(SBBS) $^ $(LIBS) $(OUTLIB) $(SBBSLIB)
        !            92: 
        !            93: # FTP Server Link Rule
        !            94: $(FTPSRVR): $(LIBODIR)/ftpsrvr.o $(SBBSLIB)
        !            95:        $(LD) $(LFLAGS) -o $@ $^ $(LIBS) $(OUTLIB) $(LIBODIR)/ftpsrvr.a
        !            96: 
        !            97: # Mail Server Link Rule
        !            98: $(MAILSRVR): $(LIBODIR)/mailsrvr.o $(LIBODIR)/mxlookup.o $(SBBSLIB)
        !            99:        $(LD) $(LFLAGS) -o $@ $^ $(LIBS) $(OUTLIB) $(LIBODIR)/mailsrvr.a
        !           100: 
        !           101: # Synchronet Console Build Rule
        !           102: $(SBBSCON): sbbscon.c $(SBBSLIB)
        !           103:        $(CC) $(CFLAGS) -o $@ $^
        !           104: 
        !           105: # Specifc Compile Rules
        !           106: $(LIBODIR)/ftpsrvr.o: ftpsrvr.c ftpsrvr.h
        !           107:        $(CC) $(CFLAGS) -c -DFTPSRVR_EXPORTS $< -o $@
        !           108: 
        !           109: $(LIBODIR)/mailsrvr.o: mailsrvr.c mailsrvr.h
        !           110:        $(CC) $(CFLAGS) -c -DMAILSRVR_EXPORTS $< -o $@
        !           111: 
        !           112: $(LIBODIR)/mxlookup.o: mxlookup.c
        !           113:        $(CC) $(CFLAGS) -c -DMAILSRVR_EXPORTS $< -o $@          
        !           114: 
        !           115: # Baja Utility
        !           116: $(BAJA): baja.c ars.c smbwrap.c crc32.c
        !           117:        $(CC) $(CFLAGS) -o $@ $^
        !           118: 
        !           119: # Node Utility
        !           120: $(NODE): node.c smbwrap.c
        !           121:        $(CC) $(CFLAGS) -o $@ $^
        !           122: 
        !           123: # FIXSMB Utility
        !           124: $(FIXSMB): fixsmb.c smblib.c smbwrap.c
        !           125:        $(CC) $(CFLAGS) -o $@ $^
        !           126: 
        !           127: # CHKSMB Utility
        !           128: $(CHKSMB): chksmb.c smblib.c smbwrap.c conwrap.c
        !           129:        $(CC) $(CFLAGS) -o $@ $^
        !           130: 
        !           131: # SMB Utility
        !           132: $(SMBUTIL): smbutil.c smblib.c smbwrap.c conwrap.c smbtxt.c crc32.c lzh.c 
        !           133:        $(CC) $(CFLAGS) -o $@ $^
        !           134: 
        !           135: 
        !           136: include depends.mak

unix.superglobalmegacorp.com

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