home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1997 #3 / amigamamagazinepolishissue03-1 / polski_aminet / michal_letowski / debuglib / src / smakefile < prev   
Makefile  |  1996-05-11  |  2KB  |  85 lines

  1. # Makefile for debug.lib
  2.  
  3. # Compiler name
  4. CC=SC
  5. LD=SLink
  6. PROGNAME=debug
  7. PROJNAME=$(PROGNAME).lib
  8. DOCNAME=$(PROGNAME)_lib.doc
  9. CLIBNAME=INCLUDE:clib/$(PROGNAME)_protos.h
  10. TESTNAME=TestDebugLib
  11.  
  12. # Compiler flags
  13. CFLAGS=     GST=$(PROGNAME).gst
  14. AFLAGS=        GST=$(PROGNAME).gst
  15. GSTFLAGS= MAKEGST=$(PROGNAME).gst NOOBJNAME NOOPT NOLINK NODEBUG
  16. TESTFLAGS=MODIFIED LINK PROGRAMNAME=$(TESTNAME) NOSTARTUP LIB LIB:$(PROJNAME)
  17.  
  18. # Trasher
  19. DEL=Delete
  20. DELFLAGS=QUIET
  21.  
  22. # Source files
  23. SOURCES=    init.c kcmpstr.a kgetchar.a kmaygetchar.a kputchar.a\
  24.                     kputstr.a kdofmt.a kprintf.a
  25. HEADERS=    $(PROGNAME).gst.c $(PROGNAME).gst.h $(PROGNAME).rev.h
  26. MISCS=        SMakeFile SCOptions
  27. ALL_SOURCES=    $(SOURCES) $(HEADERS) $(MISCS)
  28.  
  29. # Object files
  30. OBJECTS=    init.o kcmpstr.o kgetchar.o kmaygetchar.o kputchar.o\
  31.                     kputstr.o kdofmt.o kprintf.o
  32.  
  33. # Build library
  34. All: $(PROGNAME).gst $(PROJNAME) $(DOCNAME)
  35.  
  36. # Build test program
  37. Test:    $(TESTNAME)
  38.  
  39. # Make GST
  40. $(PROGNAME).gst:    $(HEADERS)
  41.     @Echo "****** Building GST"
  42.     $(CC) $(PROGNAME).gst.c $(GSTFLAGS)
  43.  
  44. # Support.lib
  45. $(PROJNAME):    $(OBJECTS)
  46.     @Echo "****** Building library"
  47.     $(CC) $(OBJECTS) OBJLIB=$(PROJNAME)
  48.     @-Protect $(PROJNAME) -e
  49.     @-Copy $(PROJNAME) LIB:
  50.  
  51. # AutoDocs
  52. $(PROGNAME).doc:    $(SOURCES)
  53.     @Echo "****** Building AutoDoc"
  54.     @ADoc -I -l77 -o$(DOCNAME) $(SOURCES)
  55.     @-Protect $(DOCNAME) -e
  56.  
  57. $(TESTNAME):    $(TESTNAME).c $(PROJNAME)
  58.     $(CC) $(TESTNAME).c $(TESTFLAGS)
  59.  
  60. # Default rules
  61. .a.o:
  62.     $(CC) $*.a $(AFLAGS)
  63.  
  64. .c.o:
  65.     $(CC) $*.c $(CFLAGS)
  66.  
  67. DelObj:
  68.     @-$(DEL) $(OBJECTS) $(DELFLAGS)
  69.  
  70. DelBak:
  71.     @-$(DEL) \#?.bak $(DELFLAGS)
  72.  
  73. Clean:
  74.     @-$(DEL) \#?.o \#?.gst \#?.map \#?.s \#?.p \#?.lnk \#?.bak $(DELFLAGS)
  75.  
  76. CleanAll:    Clean
  77.     @-$(DEL) $(PROJNAME) $(DOCNAME) $(TESTNAME) $(DELFLAGS)
  78.  
  79. # Prepare distribution files
  80. PrepDist:    $(PROJNAME) $(DOCNAME)
  81.     Copy $(ALL_SOURCES) Distr/Src/
  82.     Copy $(PROJNAME) Distr/Lib/
  83.     Copy $(DOCNAME) Distr/AutoDocs/
  84.     Copy $(CLIBNAME) Distr/Include/clib/
  85.