home *** CD-ROM | disk | FTP | other *** search
/ Audio 4.94 - Over 11,000 Files / audio-11000.iso / amiga / midi / obrst103.lha / OberSuite-1.03 / SourceCode / Makefile < prev    next >
Makefile  |  1993-01-23  |  6KB  |  180 lines

  1. #############################################################################
  2. # Makefile:    Makefile for OberSuite.
  3. #        A part of OberSuite for the Commodore Amiga.
  4. #
  5. # Author:    Daniel Barrett, barrett@cs.umass.edu.
  6. # Version:    1.0.
  7. # Copyright:    None!  This program is in the Public Domain.
  8. #        Please share it with others.
  9. #############################################################################
  10.  
  11.  
  12. LIBS        = -lc
  13. COMP_INC    = headers.comp
  14. LIBS        = -lc
  15. OPTIMIZE    = -so
  16. DEBUGGING    = # -bs
  17. CFLAGS          = $(OPTIMIZE) -hi $(COMP_INC) $(DEBUGGING)
  18. LDEBUGGING    = # -g
  19. LFLAGS        = $(LDEBUGGING) +Q
  20.  
  21. DESTDIR        = usr:mybin
  22.  
  23. ##############################################################################
  24. # Files used for all programs.
  25. ##############################################################################
  26.  
  27. HEADERS        = oberheim.h midi.h bits.h patchinfo.h
  28. MAINHEADER    = decl.h
  29. OBJ        = parse.o usage.o patchinfo.o getopt.o amigados.o
  30.  
  31. ##############################################################################
  32. # Files used for individual programs.
  33. ##############################################################################
  34.  
  35. GETPROG    = ObGet
  36. GETOBJ    = $(OBJ) obget.o tofile.o frommidi.o serial.o
  37.  
  38. PUTPROG    = ObPut
  39. PUTOBJ    = $(OBJ) obput.o fromfile.o tomidi.o serial.o
  40.  
  41. PTPROG    = ObType
  42. PTOBJ    = $(OBJ) obtype.o fromfile.o
  43.  
  44. EXPROG    = ObExtract
  45. EXOBJ    = $(OBJ) obextract.o fromfile.o tofile.o tomidi.o serial.o \
  46.          bits.o ranges.o
  47.  
  48. IPROG    = ObInfo
  49. IOBJ    = obinfo.o
  50.  
  51. ALLPROGS    = $(GETPROG) $(PUTPROG) $(PTPROG) $(EXPROG)
  52.  
  53. ##############################################################################
  54. # All program targets.
  55. ##############################################################################
  56.  
  57. all:    $(ALLPROGS)
  58.  
  59. ##############################################################################
  60. # Equivalent names for convenience.
  61. ##############################################################################
  62.  
  63. obget:        $(GETPROG)
  64. obput:        $(PUTPROG)
  65. obtype:        $(PTPROG)
  66. obextract:    $(EXPROG)
  67. obinfo:        $(IPROG)        # Not included.
  68.  
  69. ##############################################################################
  70. # Compiled headers.
  71. ##############################################################################
  72.  
  73. $(COMP_INC):    $(MAINHEADER)
  74.         cc $(OPTIMIZE) $(DEBUGGING) -ho $(COMP_INC) $(MAINHEADER)
  75.  
  76. $(MAINHEADER):    $(HEADERS)
  77.  
  78. ##############################################################################
  79. # Non-main-program object dependencies.
  80. ##############################################################################
  81.  
  82. amigados.o:    $(MAINHEADER) amigados.c
  83. bits.o:        bits.c bits.h
  84. files.o:    $(MAINHEADER) files.c
  85. fromfile.o:    $(MAINHEADER) fromfile.c
  86. frommidi.o:    $(MAINHEADER) frommidi.c
  87. getopt.o:    getopt.c
  88. parse.o:    $(MAINHEADER) parse.c
  89. patchinfo.o:    $(MAINHEADER) patchinfo.c
  90. ranges.o:    ranges.c bits.h
  91. serial.o:    $(MAINHEADER) serial.c
  92. tofile.o:    $(MAINHEADER) tofile.c
  93. tomidi.o:    $(MAINHEADER) tomidi.c
  94. usage.o:    $(MAINHEADER) usage.c
  95.  
  96. ##############################################################################
  97. # The "get" program.
  98. ##############################################################################
  99.  
  100. $(GETPROG):    $(COMP_INC) $(GETOBJ)
  101.         ln $(LFLAGS) $(GETOBJ) -o $(GETPROG) $(LIBS)
  102.  
  103. obget.o:    obget.c obget.h $(MAINHEADER)
  104.  
  105. ##############################################################################
  106. # The "put" program
  107. ##############################################################################
  108.  
  109. $(PUTPROG):    $(COMP_INC) $(PUTOBJ)
  110.         ln $(LFLAGS) $(PUTOBJ) -o $(PUTPROG) $(LIBS)
  111.  
  112. obput.o:    obput.c obput.h $(MAINHEADER)
  113.  
  114. ##############################################################################
  115. # The "type" program
  116. ##############################################################################
  117.  
  118. $(PTPROG):    $(COMP_INC) $(PTOBJ)
  119.         ln $(LFLAGS) $(PTOBJ) -o $(PTPROG) $(LIBS)
  120.  
  121. obtype.o:    obtype.c obtype.h $(MAINHEADER)
  122.  
  123. ##############################################################################
  124. # The "extract" program
  125. ##############################################################################
  126.  
  127. $(EXPROG):    $(COMP_INC) $(EXOBJ)
  128.         ln $(LFLAGS) $(EXOBJ) -o $(EXPROG) $(LIBS)
  129.  
  130. obextract.o:    obextract.c obextract.h $(MAINHEADER)
  131.  
  132. ##############################################################################
  133. # The "info" program
  134. ##############################################################################
  135.  
  136. $(IPROG):    $(COMP_INC) $(IOBJ)
  137.         ln $(LFLAGS) $(IOBJ) -o $(IPROG) $(LIBS)
  138.  
  139. obinfo.o:    obinfo.c obinfo.h $(MAINHEADER)
  140.  
  141. ##############################################################################
  142. # Installation
  143. ##############################################################################
  144.  
  145. install:    $(ALLPROGS)
  146.         copy $(GETPROG) $(DESTDIR)/$(GETPROG)
  147.         copy $(PUTPROG) $(DESTDIR)/$(PUTPROG)
  148.         copy $(PTPROG) $(DESTDIR)/$(PTPROG)
  149.         copy $(EXPROG) $(DESTDIR)/$(EXPROG)
  150.  
  151. ##############################################################################
  152. # Clean up
  153. ##############################################################################
  154.  
  155. clean:
  156.         delete \#?.o
  157.  
  158. veryclean:    clean
  159.         delete $(COMP_INC) $(ALLPROGS) \#?.dbg
  160.  
  161. backup:
  162.         copy \#?.c df1:
  163.         copy \#?.h df1:
  164.         copy Makefile df1:
  165.         copy TODO df1:
  166.         copy README df1:
  167.         copy EXAMPLES df1:
  168.         copy \#?.DOC df1:
  169.  
  170. ##############################################################################
  171. # ranges test program
  172. ##############################################################################
  173.  
  174. ranges:        $(COMP_INC) bits.o parse.o
  175.         cc $(CFLAGS) -DTEST_RANGE_PROGRAM ranges.c
  176.         ln +Q ranges.o bits.o parse.o -o ranges -lc
  177.  
  178. ranges.o:    ranges.c bits.h oberheim.h $(MAINHEADER)
  179. bits.o:        bits.c bits.h
  180.