home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume8 / se / part02 / makefile < prev    next >
Encoding:
Makefile  |  1987-01-25  |  3.6 KB  |  149 lines

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