home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / bbs / comm / cyberpager-1.5.lha / CyberPager / source / library / smakefile < prev    next >
Makefile  |  1994-02-07  |  3KB  |  105 lines

  1. # smakefile for pager-support.library
  2. # Copyright © 1993 by Christopher A. Wichura (caw@miroc.chi.il.us)
  3. # All rights reserved.
  4.  
  5. TARGETBASE = pager-support-debug
  6. DEBUGVER = 1    # never use anything other than 0 or 1 for DEBUGVER!
  7.  
  8. HDR = pager-lib.gst
  9. CFLAGS = nostkchk strmerge parms=reg gstimm utillib
  10. LFLAGS = smallcode smalldata
  11.  
  12. TARGET = $(TARGETBASE).library
  13. MAPFILE = $(TARGETBASE).map
  14.  
  15. OFILE = .o$(DEBUGVER)
  16.  
  17. OBJ2 = LibHandler$(OFILE) handleResource$(OFILE) log$(OFILE) lockFile$(OFILE) services$(OFILE) aliases$(OFILE) sequence$(OFILE) spool$(OFILE) config$(OFILE)
  18. OBJS = LibHead$(OFILE) $(OBJ2)
  19.  
  20. LIBS = LIB:amiga.lib LIB:sc.lib LIB:debug.lib
  21.  
  22. # we use two default rules for compiling the c files.  this makes it easier
  23. # to have separate compiler options for the debug and non-debug versions
  24. # of the library.
  25.  
  26. .c.o0:
  27.     flushlibs
  28.     sc $(CFLAGS) gst=$(HDR) optimize objname $*.o0 $*
  29.  
  30. .c.o1:
  31.     Indent $*.c
  32.     flushlibs
  33.     sc $(CFLAGS) gst=$(HDR) debug=symbolflush objname $*.o1 $*
  34.  
  35. $(TARGET): $(OBJS) smakefile
  36.     slink with lib:utillib.with <with < (withfile.lnk)
  37. FROM $(OBJS)
  38. TO $(TARGET)
  39. LIB $(LIBS)
  40. $(LFLAGS)
  41. ADDSYM
  42. MAP $(MAPFILE) fhlsx plain
  43. <
  44.  
  45. # build and install a release version of the library
  46. release:
  47.     smake pragmas
  48.     smake
  49.     smake install
  50.     smake TARGETBASE=pager-support DEBUGVER=0
  51.     smake TARGETBASE=pager-support DEBUGVER=0 install
  52.  
  53. # install the library in pager:libs.  we strip the debug info out of it when
  54. # we do this.
  55. install:
  56.     slink from $(TARGET) to pager:libs/$(TARGET) stripdebug noicons
  57.     protect pager:libs/$(TARGET) -e
  58.     removelib $(TARGET)
  59.  
  60. # delete object files, etc.
  61. clean:
  62.     delete $(HDR) \#?$(OFILE) \#?.c! $(MAPFILE)
  63.  
  64. # build the pragmas file.
  65. pragmas:
  66.     fd2pragma pager-support_lib.fd /include/pragmas/pager-support_lib.h
  67.     rx MakeTagcall /include/pragmas/pager-support_lib.h
  68.  
  69. # build the gst header file
  70. $(HDR): GSTMaker.c GSTMaker.h smakefile
  71.     sc $(CFLAGS) noobjname makegst=$(HDR) GSTMaker
  72.  
  73. # we have explicit entries for the two versions of LibHead (debug and
  74. # non-debug) we make.  the non-debug will automatically update the
  75. # revision number when it is called while the debug version does not
  76. # increment the revision number
  77.  
  78. LibHead.o0: LibHead.a version.i $(OBJ2)
  79.     UpAVersion version.i
  80.     hx68 from $*.a to $*.o0 incdir INCLUDE: addsym debug define BUILD_DEBUG=0
  81.  
  82. LibHead.o1: LibHead.a version.i $(OBJ2)
  83.     hx68 from $*.a to $*.o1 incdir INCLUDE: addsym debug define BUILD_DEBUG=1
  84.  
  85. # dependancies for the various source files
  86.  
  87. LibHandler$(OFILE): LibHandler.c $(HDR)
  88.  
  89. handleResource$(OFILE): handleResource.c $(HDR) memory.h
  90.  
  91. log$(OFILE): log.c $(HDR)
  92.  
  93. lockFile$(OFILE): lockFile.c $(HDR) memory.h
  94.  
  95. services$(OFILE): services.c $(HDR) memory.h
  96.  
  97. aliases$(OFILE): aliases.c $(HDR) memory.h
  98.  
  99. sequence$(OFILE): sequence.c $(HDR)
  100.  
  101. spool$(OFILE): spool.c $(HDR) memory.h
  102.  
  103. config$(OFILE): config.c $(HDR) memory.h
  104.  
  105.