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