home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / MM1 / SOUNDUTILS / mm1_tracker.lzh / TRACKER4.6 / Makefile.340 < prev    next >
Makefile  |  1994-12-20  |  7KB  |  259 lines

  1. # Makefile for any machine
  2. # - based on my newer makefile and the GREATE
  3. # modifications by Mike Battersby
  4. ###############################################################################
  5. #
  6. # CONFIGURATION OPTIONS
  7. #
  8.  
  9. # Choose your machine type. Possible types as of this version (4.0)
  10. # are
  11. #  hpalib, hplow, hp3, dec, solaris, sparc, linux, freebsd, sgi, 
  12. #  soundblaster, aix.
  13. MACHINE = mm1
  14.  
  15. # The name of your C compiler. For most machines this will be
  16. # either 'cc' or 'gcc'.
  17. CC = gcc2
  18.  
  19. # The suffix for object files. This will usually be .o, except for sgi (.j)
  20. O = .r
  21. OPTS=-c
  22. # O =.j
  23. # OPTS=-j
  24. ODIR = CMDS
  25. #SHELL = ksh
  26.  
  27. .c.r:
  28.     $(CC) $(CFLAGS) -c -o $*.r $*.c
  29.  
  30. # User interface type. Right now, this is Unix as there are no alternatives.
  31. UI = MM1/
  32.  
  33. # Destination directory for tracker binaries and manpage.
  34. #
  35. # If you don't wish to use the 'make install' and 'make install.man'
  36. # commands, you can ignore these.
  37. BIN_DIR = /users/algo/espie/pub/bin
  38. MAN_DIR = /usr/local/man
  39.  
  40. # Where to put the compression methods description
  41. COMPRESSION_FILE=/h1/snds/tracker4.6/compression_methods
  42.  
  43. # How to install the binaries and manpage. If you have a unix system,
  44. # use the GNU install program if you have it, otherwise try 'cp'. For
  45. # non-unix systems, make this the command for copying a file with the
  46. # following syntax
  47. #  <program_name> <source_name> <destination_name>
  48. #
  49. # If you don't wish to use the 'make install' and 'make install.man'
  50. # commands, you can ignore this.
  51. INSTALL = install
  52.  
  53. # Permissions and user/group id's to install with. Non-unix users
  54. # should comment these out (alternatively, you can use these to
  55. # provide arguments for the above $(INSTALL) program). If you want
  56. # to install tracker setuid root (which will allow it to renice
  57. # itself when non-root users run it), change the "-m 755" below to
  58. # "-m 4755". If you do so, you must be root to run make install.
  59. #
  60. # If you don't wish to use the 'make install' and 'make install.man'
  61. # commands, you can ignore these.
  62. INST_BIN_OPT = -s -m 755 -o root -g root
  63. INST_MAN_OPT = -m 644 -o root -g root
  64. ###############################################################################
  65. #
  66. # C compiler flags and libraries for each machine.
  67. # Unless you are porting this to a new architecture, you shouldn't
  68. # need to change these (on the other hand, if you understand what you
  69. # are doing, go ahead!).
  70. #
  71.  
  72. CFLAGS_hpalib = +O3 +OS +ESlit
  73. LIBS_hpalib   = -lAt -lAlib -lm
  74. AUDIO_hpalib = Hpux/alib_
  75. CONFIG_hpalib = Hpux/
  76.  
  77. CFLAGS_hplow = -Ae +O3 -Wl, -a,archive -s
  78. LIBS_hplow=-lM
  79. AUDIO_hplow = Hpux/low_
  80. CONFIG_hplow = Hpux/
  81.  
  82. # yet another port to hp! This one might be the best yet.
  83. CFLAGS_hp3 = +O3 +OS +ESlit
  84. LIBS_hp3   = -lAt -lAlib -lm
  85. AUDIO_hp3 = Hpux/3_
  86. CONFIG_hp3 = Hpux/3_
  87.  
  88. CFLAGS_solaris = -O
  89. LIBS_solaris   = -lm
  90. AUDIO_solaris = Sparc/./
  91. CONFIG_solaris = Sparc/solaris_
  92.  
  93.  
  94. CFLAGS_sparc = -O -Bstatic
  95. LIBS_sparc   = -lm
  96. AUDIO_sparc = Sparc/./
  97. CONFIG_sparc = Sparc/
  98.  
  99. CFLAGS_dec = -O 
  100. LIBS_dec   = -lm -lAF
  101. AUDIO_dec = AF/
  102. CONFIG_dec = AF/dec_
  103.  
  104. CFLAGS_sgi = -j -O 
  105. LIBS_sgi   = -laudio -lm
  106. AUDIO_sgi = Sgi/
  107. CONFIG_sgi = Sgi/
  108.  
  109. CFLAGS_soundblaster = -O
  110. LIBS_soundblaster   = -lm
  111. AUDIO_soundblaster = Soundblaster/
  112. CONFIG_soundblaster = Soundblaster/
  113.  
  114. CFLAGS_linux = -N -O2 -funroll-loops
  115. LIBS_linux   = -lm
  116. AUDIO_linux = Linux/./
  117. CONFIG_linux = Linux/
  118.  
  119. CFLAGS_freebsd = -O6 -funroll-loops
  120. LIBS_freebsd = -lm
  121. AUDIO_freebsd = Linux/
  122. CONFIG_freebsd = Linux/
  123.  
  124. CFLAGS_aix = -O
  125. LIBS_aix = -lm
  126. AUDIO_aix = Aix/./
  127. CONFIG_aix = Aix/./
  128.  
  129. CFLAGS_mm1 = -T/r0 -I/h0/blarslib/defs -I. -Fcc2s300  -ucc -mcpu32 -O -o68\
  130.  -DMM1A # -gg
  131. LIBS_mm1 =  -s 40 -L/dd/lib -los9lib.l -lcgfx.l -oldlibs # -gg
  132. AUDIO_mm1 = mm1/./
  133. CONFIG_mm1 = mm1/
  134.  
  135. CFLAGS = $(CFLAGS_${MACHINE})
  136. COPTS = $(OPTS) $(CFLAGS)
  137. LIBS = $(LIBS_${MACHINE})
  138. CONFIG = $(CONFIG_${MACHINE})
  139. AUDIO = $(AUDIO_${MACHINE})
  140.  
  141. OBJ_TRACKER = main$O $(AUDIO)audio$O st_read$O commands$O \
  142. resample$O automaton$O player$O getopt$O open$O tools$O \
  143. dump_song$O setup_audio$O notes$O display$O \
  144. $(UI)ui$O prefs$O tags$O autoinit$O
  145.  
  146. OBJ_ANALYZER = analyzer$O st_read$O open$O dump_song$O tools$O notes$O \
  147. prefs$O autoinit$O ${UI}ui$O display$O
  148.  
  149. OBJ_SPLITMOD = split$O tools$O st_read$O dump_song$O open$O notes$O \
  150. display$O prefs$O autoinit$O $(UI)ui$O
  151.  
  152.  
  153. all:    config.h tracker randomize analyzer splitmod
  154.  
  155. config.h:
  156.     copy -r $(CONFIG)config.h config.h
  157.  
  158. install: 
  159.     $(INSTALL) $(INST_BIN_OPT) tracker $(BIN_DIR)
  160.     $(INSTALL) $(INST_BIN_OPT) randomize $(BIN_DIR)
  161.     $(INSTALL) $(INST_BIN_OPT) analyzer $(BIN_DIR)
  162.  
  163. install.man:
  164.     $(INSTALL) $(INST_MAN_OPT) docs/tracker.1 $(MAN_DIR)/man1/tracker.1
  165.  
  166.  
  167.  
  168. devel: 
  169.     -rm -f $(BIN_DIR)/dtracker #$(BIN_DIR)/splitmod
  170.     cp tracker $(BIN_DIR)/dtracker
  171. #-  cp splitmod $(BIN_DIR)/splitmod
  172.  
  173. tracker: ${OBJ_TRACKER}
  174.     ${CC} -o $(ODIR)/tracker ${CFLAGS} ${OBJ_TRACKER} ${LIBS}
  175.  
  176. analyzer: ${OBJ_ANALYZER}
  177.     $(CC) -o $(ODIR)/analyzer ${CFLAGS} ${OBJ_ANALYZER} ${LIBS}
  178.  
  179. randomize: randomize.c
  180.     $(CC) -o $(ODIR)/randomize ${CFLAGS} randomize.c ${LIBS}
  181.  
  182. splitmod: ${OBJ_SPLITMOD}
  183.     $(CC) -o $(ODIR)/splitmod ${CFLAGS} ${OBJ_SPLITMOD} ${LIBS}
  184.  
  185. main$O: main.c song.h
  186.     $(CC) ${COPTS} main.c
  187.  
  188. tools$O: main.c 
  189.     $(CC) ${COPTS} tools.c
  190.  
  191. $(AUDIO)audio$O: $(AUDIO)audio.c 
  192.     chd MM1; $(CC) -I.. ${COPTS} audio.c
  193.  
  194. $(UI)ui$O: $(UI)ui.c
  195.     chd MM1; $(CC) -I.. ${COPTS} ui.c
  196.  
  197. split$O: split.c
  198.     $(CC) ${COPTS} split.c
  199.  
  200. open$O: open.c
  201.     $(CC) ${COPTS} -DCOMPRESSION_FILE="""${COMPRESSION_FILE}""" open.c
  202.  
  203. audio$O: audio.c
  204.     $(CC) ${COPTS} audio.c
  205.  
  206. automaton$O: automaton.c song.h channel.h
  207.     $(CC) ${COPTS} automaton.c
  208.  
  209. getopt$O: getopt.c getopt.h
  210.     $(CC) ${COPTS} getopt.c
  211.  
  212. getopt1$O: getopt1.c getopt.h
  213.     $(CC) ${COPTS} getopt1.c
  214.  
  215. player$O: player.c song.h channel.h
  216.     $(CC) ${COPTS} player.c
  217.  
  218. st_read$O: st_read.c song.h
  219.     $(CC) ${COPTS} st_read.c
  220.  
  221. commands$O: commands.c channel.h song.h
  222.     $(CC) ${COPTS} commands.c
  223.  
  224. unix/termio$O: unix/termio.c
  225.     $(CC) ${COPTS} unix/termio.c
  226. dump_song$O: dump_song.c
  227.     $(CC) $(COPTS) dump_song.c
  228. analyzer$O: analyzer.c
  229.     $(CC) $(COPTS) analyzer.c
  230. setup_audio$O: setup_audio.c
  231.     $(CC) $(COPTS) setup_audio.c
  232. notes$O: notes.c
  233.     $(CC) $(COPTS) notes.c
  234.  
  235. display$O: display.c
  236.     $(CC) $(COPTS) display.c
  237.  
  238.  
  239. clean:
  240.     -rm $(OBJ_TRACKER) $(OBJ_ANALYZER) $(OBJ_SPLITMOD) randomize$O
  241.     -rm tracker randomize splitmod analyzer core 
  242.     -rm tracker.tar tracker.tar.Z tracker.lzh
  243.     -rm config.h
  244.  
  245. export:
  246.     -rm tracker.tar.Z
  247.     -rm tracker.lzh
  248.     -rm config.h
  249.     cd ..; lha a tracker/tracker.lzh tracker/*.[ch] \
  250.     tracker/*/*.[ch] tracker/*/*Docs/* \
  251.     tracker/Amiga/server/*.[ch] \
  252.     tracker/man/* \
  253.     tracker/Amiga/bin/* \
  254.     tracker/*akefile* tracker/Docs/*
  255.     cd ..; tar cvf tracker/tracker.tar tracker/*.[ch] \
  256.     tracker/*/*.[ch] tracker/*/*/*.[ch] \
  257.     tracker/*/Docs/* \ tracker/man/* tracker/Docs/* tracker/*akefile*
  258.     compress tracker.tar
  259.