home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume6 / conquer4 / part14 / Makefile < prev    next >
Makefile  |  1989-07-06  |  8KB  |  228 lines

  1. #    conquer: Copyright (c) 1988 by Edward M Barlow
  2. #
  3. #    BY CHANGING THIS FILE, YOU AGREE TO ABIDE BY THE LIMITATIONS STATED IN
  4. #    THE LIMITED USE CONTRACT CONTAINED IN THE FILE "header.h"
  5. #
  6. MAKE    = /bin/make
  7. CC    = /bin/cc
  8. RM    = /bin/rm -f
  9.  
  10. #    LN must be "ln -s" if source, data, and default span disks
  11. LN    = ln
  12. CP    = cp
  13. NULL    = 2>/dev/null
  14.  
  15. #    This should be installed by whomever you want to own the game.
  16. #    I recommend "games" or "root".
  17.  
  18. #if the final link does not compile change to the line below
  19. #LIBRARIES = -lcurses -ltermcap
  20. LIBRARIES = -lcurses
  21.  
  22. #    this is the name of the user executable
  23. #    the user executable contains commands for the games players
  24. GAME = conquer
  25. #    this is the name of the administrative executable
  26. #    the administrative executable contains commands for the game super user
  27. ADMIN = conqrun
  28.  
  29. #    This directory is where the executables will be stored
  30. #    This would be the equivalent of /usr/games
  31. EXEDIR = /c28/smile/game/runv
  32.  
  33. #    GAME IDENTIFICATION
  34. #    GAMEID is the game identifier
  35. #    DATA is the directory where an individual Conquer game data will be
  36. #    stored.  It is the directory you use in the -d option of the game.
  37. #    "make new_game" will build a world in that directory.  The current
  38. #    game will be automatically executed upon login (no need for -d)
  39. #    but if other games are compiled, you need to use -d (ie. the
  40. #    game automatically looks at the DATA directory it was compiled with.
  41. GAMEID = 1
  42. DATA = $(EXEDIR)/lib$(GAMEID)
  43.  
  44. #    The following CFLAGS should be set by a normal user
  45. CFLAGS  = -DDEFAULTDIR=\"$(DATA)\" -O -s -DEXEDIR=\"$(EXEDIR)\"
  46. #    The following CFLAGS should be used if you wish to debug the game
  47. #CFLAGS  = -DDEFAULTDIR=\"$(DATA)\" -DDEBUG -g -DEXEDIR=\"$(EXEDIR)\"
  48.  
  49. # AFILS are files needed for game updating...
  50. AFILS = combat.c cexecute.c io.c admin.c makeworl.c  navy.c spew.c \
  51. newlogin.c update.c magic.c npc.c misc.c randeven.c data.c trade.c check.c
  52. AOBJS = combat.o cexecuteA.o ioA.o admin.o makeworl.o  navyA.o \
  53. newlogin.o update.o magicA.o npc.o miscA.o randeven.o dataA.o \
  54. tradeA.o check.o $(GETOPT) spew.o
  55.  
  56. # GFILS are files needed to run a normal interactive game
  57. GFILS = commands.c cexecute.c forms.c io.c main.c move.c navy.c \
  58. magic.c misc.c reports.c data.c display.c extcmds.c trade.c check.c
  59. GOBJS = commands.o cexecute.o forms.o io.o main.o move.o navy.o \
  60. magic.o misc.o reports.o data.o display.o extcmds.o trade.o check.o $(GETOPT)
  61.  
  62. #txt[0-5] are input help files.  help[0-5] are output
  63. HELP0=txt0
  64. HELP1=txt1
  65. HELP2=txt2
  66. HELP3=txt3
  67. HELP4=txt4
  68. HELP5=txt5
  69. HELPOUT=help
  70.  
  71. HEADERS=header.h data.h newlogin.h patchlevel.h
  72. HELPFILES= $(HELP0) $(HELP1) $(HELP2) $(HELP3) $(HELP4) $(HELP5)
  73. ALLFILS=$(HEADERS) $(AFILS) commands.c forms.c main.c move.c \
  74. reports.c display.c extcmds.c $(HELPFILES) nations Makefile README \
  75. run man.pag notes.v4 rules sort.c newhelp.c
  76.  
  77. all:    $(ADMIN) $(GAME) helpfile conqsort
  78.     @echo YAY! make new_game to set up permissions, zero appropriate
  79.     @echo initial files, move $(GAME) and $(ADMIN) to
  80.     @echo $(EXEDIR), and set up the world.
  81.     @echo If a game is in progress, make install will just move $(GAME)
  82.     @echo and $(ADMIN) to $(EXEDIR).
  83.     @echo
  84.  
  85. $(ADMIN):    $(AOBJS)
  86.     @echo phew...
  87.     @echo if the next command does not compile, you might also need -ltermcap
  88.     @echo === compiling administrative functions
  89.     $(CC) -p -o $(ADMIN) $(AOBJS) $(LIBRARIES)
  90.  
  91. $(GAME):    $(GOBJS)
  92.     @echo phew...
  93.     @echo if the next command does not compile, you might also need -ltermcap
  94.     @echo === compiling user interface
  95.     $(CC) -O -o $(GAME) $(GOBJS) $(LIBRARIES)
  96.  
  97. conqsort:
  98.     $(CC) -O -oconqsort sort.c
  99.  
  100. clobber:
  101.     $(RM) *.o core newhelp sed.1 sed.2 lint* \
  102.         conquer.doc $(GAME) $(ADMIN) $(HELPOUT)[0-5] 2>/dev/null
  103.  
  104. clean:
  105.     $(RM) *.o core conquer.doc sed.1 sed.2 newhelp $(HELPOUT)[0-5] 2>/dev/null
  106.  
  107. install:  all
  108.     -$(LN) $(GAME) $(EXEDIR)/$(GAME) $(NULL)
  109.     -$(LN) $(ADMIN) $(EXEDIR)/$(ADMIN) $(NULL)
  110.     -$(LN) conqsort $(EXEDIR)/conqsort $(NULL)
  111.     chmod 4755 $(EXEDIR)/$(GAME)
  112.     chmod 4750 $(EXEDIR)/$(ADMIN)
  113.     $(CP) conqsort nations rules $(HELPOUT)? $(DATA) $(NULL)
  114.  
  115. new_game:  all
  116.     @echo Installing new game in $(EXEDIR)
  117.     -mkdir $(EXEDIR) 2>/dev/null
  118.     chmod 755 $(EXEDIR)
  119.     -$(LN) $(GAME) $(EXEDIR)/$(GAME) $(NULL)
  120.     -$(LN) $(ADMIN) $(EXEDIR)/$(ADMIN) $(NULL)
  121.     chmod 4755 $(EXEDIR)/$(GAME)
  122.     chmod 4750 $(EXEDIR)/$(ADMIN)
  123.     chmod 0700 run
  124.     @echo Copying data to library $(DATA)
  125.     -mkdir $(DATA) 2>/dev/null
  126.     chmod 751 $(DATA)
  127.     chmod 0600 nations
  128.     $(CP) nations rules $(HELPOUT)? $(DATA) $(NULL)
  129.     @echo now making the world
  130.     $(EXEDIR)/$(ADMIN) -d$(DATA) -m
  131.     $(EXEDIR)/$(ADMIN) -d$(DATA) -a
  132.  
  133. helpfile:    $(HELPOUT)0
  134.     @echo Helpfiles built
  135.  
  136. $(HELPOUT)0:    newhelp $(HELPFILES)
  137.     @echo Building the help files
  138.     newhelp
  139.     cat $(HELP0) | sed -f sed.1 > $(HELPOUT)0
  140.     cat $(HELP1) | sed -f sed.1 | sed -f sed.2 > $(HELPOUT)1
  141.     cat $(HELP2) | sed -f sed.1 > $(HELPOUT)2
  142.     cat $(HELP3) | sed -f sed.1 | sed -f sed.2 > $(HELPOUT)3
  143.     cat $(HELP4) | sed -f sed.1 > $(HELPOUT)4
  144.     cat $(HELP5) | sed -f sed.1 > $(HELPOUT)5
  145.     chmod 0644 $(HELPOUT)[0-5]
  146.     -$(RM) sed.1 sed.2
  147.  
  148. lint:
  149.     lint -DDEFAULTDIR=\"$(DATA)\" -DEXEDIR=\"$(EXEDIR)\" -DCONQUER $(GFILS) $(LIBRARIES)> lintg
  150.     lint -DDEFAULTDIR=\"$(DATA)\" -DEXEDIR=\"$(EXEDIR)\" -DADMIN $(AFILS) $(LIBRARIES) > linta
  151.  
  152. docs:    helpfile conquer.doc
  153.  
  154. conquer.doc:    $(HELPOUT)0 $(HELPOUT)1 $(HELPOUT)2 $(HELPOUT)3 $(HELPOUT)4 $(HELPOUT)5
  155.     cat $(HELPOUT)?|sed -e "s/^DONE/ /g"|sed -e "s/^END//g" > conquer.doc
  156.  
  157. shar:
  158.     echo " lines   words chars   FILENAME" > MANIFEST
  159.     wc $(ALLFILS) >> MANIFEST
  160.     $(HOME)/src/xshar/xshar -D -c -l64 -oshar -v $(ALLFILS)
  161.  
  162. combat.o:    data.h header.h combat.c
  163.     $(CC) $(CFLAGS) -DADMIN -c combat.c
  164. cexecute.o:    data.h header.h cexecute.c
  165.     $(CC) $(CFLAGS) -DCONQUER -c cexecute.c
  166. io.o:    data.h header.h  io.c
  167.     $(CC) $(CFLAGS) -DCONQUER -c io.c
  168. cexecuteA.o:    data.h header.h cexecute.c
  169.     $(CC) $(CFLAGS) -DADMIN -c cexecute.c
  170.     mv cexecute.o cexecuteA.o
  171. ioA.o:    data.h header.h  io.c
  172.     $(CC) $(CFLAGS) -DADMIN -c io.c
  173.     mv io.o ioA.o
  174. admin.o:    data.h header.h admin.c
  175.     $(CC) $(CFLAGS) -DADMIN -c admin.c
  176. makeworl.o:    data.h header.h makeworl.c
  177.     $(CC) $(CFLAGS) -DADMIN -c makeworl.c
  178. newlogin.o:    data.h header.h newlogin.h newlogin.c
  179.     $(CC) $(CFLAGS) -DADMIN -c newlogin.c
  180. update.o:    data.h header.h update.c
  181.     $(CC) $(CFLAGS) -DADMIN -c update.c
  182. magic.o:    data.h header.h magic.c
  183.     $(CC) $(CFLAGS) -DCONQUER -c magic.c
  184. magicA.o:    data.h header.h magic.c
  185.     $(CC) $(CFLAGS) -DADMIN -c magic.c
  186.     mv magic.o magicA.o
  187. npc.o:    data.h header.h npc.c
  188.     $(CC) $(CFLAGS) -DADMIN -c npc.c
  189. misc.o:    data.h header.h misc.c
  190.     $(CC) $(CFLAGS) -DCONQUER -c misc.c
  191. miscA.o:    data.h header.h misc.c
  192.     $(CC) $(CFLAGS) -DADMIN -c misc.c
  193.     mv misc.o miscA.o
  194. randeven.o:    data.h header.h randeven.c
  195.     $(CC) $(CFLAGS) -DADMIN -c randeven.c
  196. data.o:    data.h header.h data.c
  197.     $(CC) $(CFLAGS) -DCONQUER -c data.c
  198. dataA.o:    data.h header.h data.c
  199.     $(CC) $(CFLAGS) -DADMIN -c data.c
  200.     mv data.o dataA.o
  201. display.o:    data.h header.h display.c
  202.     $(CC) $(CFLAGS) -DCONQUER -c display.c
  203. reports.o:    data.h header.h reports.c
  204.     $(CC) $(CFLAGS) -DCONQUER -c reports.c
  205. move.o:    data.h header.h move.c
  206.     $(CC) $(CFLAGS) -DCONQUER -c move.c
  207. main.o:    data.h header.h main.c
  208.     $(CC) $(CFLAGS) -DCONQUER -c main.c
  209. forms.o:    data.h header.h forms.c
  210.     $(CC) $(CFLAGS) -DCONQUER -c forms.c
  211. commands.o:    data.h header.h commands.c
  212.     $(CC) $(CFLAGS) -DCONQUER -c commands.c
  213. check.o:    data.h header.h check.c
  214.     $(CC) $(CFLAGS) -c check.c
  215. trade.o:    data.h header.h trade.c
  216.     $(CC) $(CFLAGS) -DCONQUER -c trade.c
  217. tradeA.o:    data.h header.h trade.c
  218.     $(CC) $(CFLAGS) -DADMIN -c trade.c
  219.     mv trade.o tradeA.o
  220. navyA.o:    data.h header.h navy.c
  221.     $(CC) $(CFLAGS) -DADMIN -c navy.c
  222.     mv navy.o navyA.o
  223. navy.o:    data.h header.h trade.c
  224.     $(CC) $(CFLAGS) -DCONQUER -c navy.c
  225. newhelp:    data.o header.h data.h newhelp.c
  226.     @echo Compiling the help program
  227.     $(CC) $(CFLAGS) newhelp.c data.o -o newhelp
  228.