home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume4 / se / part1 / makefile < prev    next >
Makefile  |  1986-11-30  |  3KB  |  127 lines

  1. # makefile for the Georgia Tech Screen Editor, 'se'
  2.  
  3. HEADERS= ascii.h constdefs.h extern.h se.h
  4.  
  5. SRCS= docmd1.c docmd2.c edit.c main.c misc.c scratch.c screen.c term.c
  6. OBJS= docmd1.o docmd2.o edit.o main.o misc.o scratch.o screen.o term.o
  7.  
  8. LIBRARIES= libchangetty/libchangetty.a pat/libpat.a
  9.  
  10. LIBS=`echo $(LIBRARIES); if egrep 'DBSD|US5R2' flags > /dev/null; then echo -ltermlib; else echo -lcurses; fi`
  11.  
  12. DOCS= makefile README changes.made
  13. MANS= scriptse.1 se.1
  14.  
  15. CFLAGS= -O `cat flags`
  16. LDFLAGS=
  17.  
  18. # On BSD systems, force make to use the right shell for commands
  19. SHELL=/bin/sh
  20.  
  21. ###########################################################################
  22. # Begin system dependant macro definitions
  23.  
  24. # PR is to print the files nicely.  Use pr -n if available, or else just pr
  25. # I use a private utility called 'prt'
  26. PR=prt
  27.  
  28. # NROFF is for nroffing.  we use the System V nroff. 
  29. NROFF=/usr/5bin/nroff
  30.  
  31. # MANSEC is where to put the manual pages. Use 'l' for local, otherwise '1'.
  32. MANSEC=l
  33.  
  34. # DESTBIN is where se and scriptse will go
  35. DESTBIN= /usr/local/bin
  36.  
  37. # OWNER and GROUP are the owner and group respectively
  38. OWNER= root
  39. GROUP= admin
  40.  
  41. # INSTALL is the program to do the installation, use cp for real work
  42. INSTALL= cp
  43.  
  44. # CHOWN changes the owner.
  45. CHOWN= /etc/chown
  46.  
  47. # CHGRP changes the group.
  48. CHGRP= chgrp
  49.  
  50. # CHMOD will change permissions.
  51. CHMOD= chmod
  52.  
  53. ########
  54. # other things to change:
  55. #
  56. # on non-BSD systems, change the 'lpr' below to 'lp'
  57. ########
  58.  
  59. # Begin list of dependencies
  60.  
  61. all: se scriptse se.1
  62.     @echo all done
  63.  
  64. se: $(OBJS) $(LIBRARIES)
  65.     $(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
  66.  
  67. $(OBJS): $(HEADERS) flags
  68.  
  69. flags: where
  70.     where > flags
  71.  
  72. libchangetty/libchangetty.a: libchangetty/changetty.c
  73.     cd libchangetty; make
  74.  
  75. pat/libpat.a: pat/pat.c
  76.     cd pat; make
  77.  
  78. scriptse: scriptse.c
  79.     $(CC) -O scriptse.c -o scriptse
  80.  
  81. se.1: se.m4 flags
  82.     (m4munge $(CFLAGS) ; cat se.m4) | m4 | sed '/^$$/d' > se.1
  83.  
  84. install: all $(MANS)
  85.     $(INSTALL) se $(DESTBIN)
  86.     $(CHOWN) $(OWNER) $(DESTBIN)/se
  87.     $(CHGRP) $(GROUP) $(DESTBIN)/se
  88.     $(CHMOD) 711 $(DESTBIN)/se 
  89.     $(INSTALL) scriptse $(DESTBIN)
  90.     $(CHOWN) $(OWNER) $(DESTBIN)/scriptse
  91.     $(CHGRP) $(GROUP) $(DESTBIN)/scriptse
  92.     $(CHMOD) 711 $(DESTBIN)/scriptse 
  93.     $(INSTALL) se.1 /usr/man/man$(MANSEC)/se.$(MANSEC)
  94.     $(CHOWN) $(OWNER) /usr/man/man$(MANSEC)/se.$(MANSEC)
  95.     $(CHGRP) $(GROUP) /usr/man/man$(MANSEC)/se.$(MANSEC)
  96.     $(CHMOD) 644 /usr/man/man$(MANSEC)/se.$(MANSEC)
  97.     $(INSTALL) scriptse.1 /usr/man/man$(MANSEC)/scriptse.$(MANSEC)
  98.     $(CHOWN) $(OWNER) /usr/man/man$(MANSEC)/scriptse.$(MANSEC)
  99.     $(CHGRP) $(GROUP) /usr/man/man$(MANSEC)/scriptse.$(MANSEC)
  100.     $(CHMOD) 644 /usr/man/man$(MANSEC)/scriptse.$(MANSEC)
  101.     cd se_h; make install
  102.     
  103. print:
  104.     $(PR) $(HEADERS) $(SRCS) $(DOCS) $(MANS) | lpr
  105.  
  106. printman: $(MANS)
  107.     $(NROFF) -man $(MANS) | col | lpr
  108.  
  109. print2:    $(HEADERS) $(SRCS) $(DOCS) $(MANS)
  110.     $(PR) $? | lpr
  111.  
  112. printall: printman print
  113.     cd pat; make print
  114.     cd libchangetty; make print
  115.     cd se_h; make print
  116.  
  117. clean:
  118.     rm -f *.o print2
  119.     cd pat; make clean
  120.     cd libchangetty; make clean
  121.  
  122. clobber: clean
  123.     rm -f se scriptse flags se.1
  124.     cd pat; make clobber
  125.     cd libchangetty; make clobber
  126.     cd se_h; make clobber
  127.