home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1641 / Makefile < prev    next >
Encoding:
Makefile  |  1990-12-28  |  7.1 KB  |  313 lines

  1. #
  2. # Copyright 1988,1989,1990, John F. Haugh II
  3. # All rights reserved.
  4. #
  5. # Non-commercial distribution permitted.  You must provide this source
  6. # code in any distribution.  This notice must remain intact.
  7. #
  8. #    @(#)Makefile    2.11    00:43:36  - Shadow password system
  9. #
  10. #    @(#)Makefile    2.11    00:43:36    8/3/90
  11. #
  12. SHELL = /bin/sh
  13.  
  14. # Define the directory login is copied to.  BE VERY CAREFUL!!!
  15. # LOGINDIR = /bin
  16. LOGINDIR = /etc
  17.  
  18. # Pick your favorite C compiler and tags command
  19. CC = cc
  20. TAGS = ctags
  21.  
  22. # OS.  Currently only BSD and USG are defined.  If you don't use BSD,
  23. # USG (System V) is assumed.
  24. # OS = -DBSD
  25.  
  26. # Do you have to do ranlib?  Sorry to hear that ...
  27. RANLIB = ranlib
  28. # RANLIB = echo
  29.  
  30. # Flags for SCO Xenix/386
  31. CFLAGS = -O -M3 -g $(PWDEF) $(AL64DEF) $(OS)
  32. LIBS = -lcrypt -ldbm
  33. LDFLAGS = -M3 -g
  34. LTFLAGS = 
  35. # This should be Slibsec.a for small model, or Llibsec.a for
  36. # large model or whatever.  MUST AGREE WITH CFLAGS!!!
  37. LIBSEC = Slibsec.a
  38.  
  39. # Flags for normal machines
  40. # CFLAGS = -O -g $(PWDEF) $(AL64DEF) $(OS)
  41. # LIBS =
  42. # LDFLAGS = -g
  43. # LIBSEC = libsec.a
  44.  
  45. LOBJS = lmain.o login.o env.o password.o entry.o valid.o setup.o shell.o age.o \
  46.     pwent.o utmp.o sub.o mail.o motd.o log.o shadow.o dialup.o dialchk.o \
  47.     ttytype.o failure.o port.o pwpack.o
  48.  
  49. LSRCS = lmain.c login.c env.c password.c entry.c valid.c setup.c shell.c age.c \
  50.     pwent.c utmp.c sub.c mail.c motd.c log.c shadow.c dialup.c dialchk.c \
  51.     ttytype.c failure.c port.c pwpack.c
  52.  
  53. SOBJS = smain.o env.o password.o entry.o suvalid.o susetup.o sushell.o \
  54.     pwent.o susub.o mail.o motd.o sulog.o shadow.o age.o pwpack.o
  55.  
  56. SSRCS = smain.c env.c password.c entry.c valid.c setup.c shell.c \
  57.     pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c
  58.  
  59. POBJS = pmain.o password.o entry.o valid.o pwage.o pwent.o obscure.o shadow.o \
  60.     pwpack.o
  61.  
  62. PSRCS = pmain.c password.c entry.c valid.c age.c pwent.c obscure.c shadow.c \
  63.     pwpack.c
  64.  
  65. GPSRCS = gpmain.c password.c grent.c
  66.  
  67. GPOBJS = gpmain.o password.o grent.o
  68.  
  69. PWOBJS = pwconv.o pwent.o shadow.o pwage.o pwpack.o
  70.  
  71. PWSRCS = pwconv.c pwent.c shadow.c age.c pwpack.c
  72.  
  73. PWUNOBJS = pwunconv.o pwent.o shadow.o pwage.o pwpack.o
  74.  
  75. PWUNSRCS = pwunconv.c pwent.c shadow.c age.c pwpack.c
  76.  
  77. SULOGOBJS = sulogin.o entry.o env.o password.o pwage.o pwent.o setup.o \
  78.     shadow.o shell.o valid.o pwpack.o
  79.  
  80. SULOGSRCS = sulogin.c entry.c env.c password.c age.c pwent.c setup.c \
  81.     shadow.c shell.c valid.c pwpack.c
  82.  
  83. DBOBJS = mkpasswd.o pwent.o pwpack.o
  84.  
  85. DBSRCS = mkpasswd.c pwent.c pwpack.c
  86.  
  87. NGSRCS = newgrp.c shadow.c password.c
  88.  
  89. NGOBJS = newgrp.o shadow.o password.o
  90.  
  91. CHFNSRCS = chfn.c pwent.c pwpack.c
  92.  
  93. CHFNOBJS = chfn.o pwent.o pwpack.o
  94.  
  95. ALLSRCS = age.c dialchk.c dialup.c entry.c env.c lmain.c log.c login.c mail.c \
  96.     motd.c obscure.c password.c pmain.c pwconv.c pwent.c pwunconv.c \
  97.     setup.c shadow.c shell.c smain.c sub.c sulog.c sulogin.c ttytype.c \
  98.     utmp.c valid.c port.c newgrp.c gpmain.c grent.c mkpasswd.c pwpack.c \
  99.     chfn.c
  100.  
  101. FILES1 = README log.c mail.c shadow.h sulog.c Makefile entry.c obscure.c \
  102.     setup.c sub.c config.h pmain.c sulogin.c dialup.h ttytype.c \
  103.     port.c newgrp.c
  104.  
  105. FILES2 = lastlog.h login.c motd.c password.c shell.c utmp.c age.c env.c \
  106.     pwent.c shadow.c valid.c lmain.c smain.c pwconv.c dialup.c dialchk.c \
  107.     pwunconv.c failure.c faillog.h faillog.c port.h gpmain.c grent.c \
  108.     mkpasswd.c pwpack.c chfn.c
  109.  
  110. MAN_1 = chfn.1 login.1 passwd.1 su.1
  111. MAN_3 = shadow.3
  112. MAN_4 = faillog.4 passwd.4 shadow.4
  113. MAN_8 = faillog.8 pwconv.8 pwunconv.8 sulogin.8
  114.  
  115. DOCS = $(MAN_1) $(MAN_3) $(MAN_4) $(MAN_8)
  116.  
  117. BINS = su login pwconv pwunconv passwd sulogin faillog newgrp gpasswd \
  118.     mkpasswd chfn
  119.  
  120. all:    $(BINS) $(DOCS)
  121.  
  122. libsec: shadow.o
  123.     ar rv $(LIBSEC) shadow.o
  124.     $(RANLIB) $(LIBSEC)
  125.  
  126. install: all
  127.     strip $(BINS)
  128.     cp login $(LOGINDIR)/login
  129.     cp mkpasswd pwconv pwunconv sulogin /etc
  130.     cp su passwd gpasswd faillog newgrp chfn /bin
  131.     cp shadow.h /usr/include
  132.     chown root $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  133.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd
  134.     chgrp root $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  135.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd
  136.     chown bin /bin/faillog /usr/include/shadow.h
  137.     chgrp bin /bin/faillog /usr/include/shadow.h
  138.     chmod 700 /etc/pwconv /etc/pwunconv /etc/sulogin /etc/mkpasswd
  139.     chmod 4711 $(LOGINDIR)/login /bin/su /bin/passwd /bin/gpasswd \
  140.         /bin/newgrp /bin/chfn
  141.     chmod 711 /bin/faillog
  142.     chmod 444 /usr/include/shadow.h
  143.  
  144. lint:    su.L login.L pwconv.L pwunconv.L passwd.L sulogin.L faillog.L \
  145.     newgrp.L gpasswd.L mkpasswd.L chfn.L
  146.  
  147. tags:    $(ALLSRCS)
  148.     $(TAGS) $(ALLSRCS)
  149.  
  150. README:    s.README
  151.     get s.README
  152.     
  153. $(DOCS):
  154.     get s.$@
  155.  
  156. login:    $(LOBJS)
  157.     $(CC) -o login $(LDFLAGS) $(LOBJS) $(LIBS)
  158.  
  159. login.L: $(LSRCS)
  160.     lint $(LSRCS) > login.L
  161.  
  162. su:    $(SOBJS)
  163.     $(CC) -o su $(LDFLAGS) $(SOBJS) $(LIBS)
  164.  
  165. su.L:    $(SSRCS)
  166.     lint -DSU $(SSRCS) > su.L
  167.  
  168. passwd:    $(POBJS)
  169.     $(CC) -o passwd $(LDFLAGS) $(POBJS) $(LIBS)
  170.  
  171. passwd.L: $(PSRCS)
  172.     lint -DPASSWD $(PSRCS) > passwd.L
  173.  
  174. gpasswd: $(GPOBJS)
  175.     $(CC) -o gpasswd $(LDFLAGS) $(GPOBJS) $(LIBS)
  176.  
  177. gpasswd.L: $(GPSRCS)
  178.     lint $(GPSRCS) > gpasswd.L
  179.  
  180. pwconv:    $(PWOBJS)
  181.     $(CC) -o pwconv $(LDFLAGS) $(PWOBJS) $(LIBS)
  182.  
  183. pwconv.L: $(PWSRCS)
  184.     lint -DPASSWD $(PWSRCS) > pwconv.L
  185.  
  186. pwunconv: $(PWUNOBJS)
  187.     $(CC) -o pwunconv $(LDFLAGS) $(PWUNOBJS) $(LIBS)
  188.  
  189. pwunconv.L: $(PWUNSRCS)
  190.     lint -DPASSWD $(PWUNSRCS) > pwunconv.L
  191.  
  192. sulogin: $(SULOGOBJS)
  193.     $(CC) -o sulogin $(LDFLAGS) $(SULOGOBJS) $(LIBS)
  194.  
  195. sulogin.L: $(SULOGSRCS)
  196.     lint $(SULOGSRCS) > sulogin.L
  197.  
  198. faillog: faillog.o
  199.     $(CC) -o faillog $(LDFLAGS) faillog.o $(LIBS)
  200.  
  201. faillog.L: faillog.c faillog.h config.h
  202.     lint faillog.c > faillog.L
  203.  
  204. mkpasswd: $(DBOBJS)
  205.     $(CC) -o mkpasswd $(LDFLAGS) $(DBOBJS) $(LIBS)
  206.  
  207. mkpasswd.L: $(DBSRCS)
  208.     lint $(DBSRCS) > mkpasswd.L
  209.  
  210. newgrp: $(NGOBJS)
  211.     $(CC) -o newgrp $(LDFLAGS) $(NGOBJS) $(LIBS)
  212.  
  213. newgrp.L: $(NGSRCS)
  214.     lint $(NGSRCS) > newgrp.L
  215.  
  216. chfn:    $(CHFNOBJS)
  217.     $(CC) -o chfn $(LDFLAGS) $(CHFNOBJS) $(LIBS)
  218.  
  219. chfn.L:    $(CHFNSRCS)
  220.     lint $(CHFNSRCS) > chfn.L
  221.  
  222. sushell.c: shell.c
  223.     cp shell.c sushell.c
  224.  
  225. sushell.o: config.h sushell.c
  226.     $(CC) -c $(CFLAGS) -DSU sushell.c
  227.  
  228. susub.c: sub.c
  229.     cp sub.c susub.c
  230.  
  231. susub.o: config.h susub.c
  232.     $(CC) -c $(CFLAGS) -DSU susub.c
  233.  
  234. sulog.o: config.h
  235.  
  236. susetup.c: setup.c
  237.     cp setup.c susetup.c
  238.  
  239. susetup.o: config.h setup.c
  240.     $(CC) -c $(CFLAGS) -DSU susetup.c
  241.  
  242. suvalid.c: valid.c
  243.     cp valid.c suvalid.c
  244.  
  245. suvalid.o: config.h valid.c
  246.     $(CC) -c $(CFLAGS) -DSU suvalid.c
  247.  
  248. pmain.o: config.h lastlog.h shadow.h
  249.  
  250. pwage.o: age.c config.h
  251.     cp age.c pwage.c
  252.     $(CC) -c $(CFLAGS) -DPASSWD pwage.c
  253.     rm pwage.c
  254.  
  255. lmain.o: config.h lastlog.h faillog.h
  256.  
  257. smain.o: config.h lastlog.h
  258.  
  259. setup.o: config.h
  260.  
  261. utmp.o: config.h
  262.  
  263. mail.o: config.h
  264.  
  265. motd.o: config.h
  266.  
  267. age.o: config.h
  268.  
  269. log.o: config.h lastlog.h
  270.  
  271. shell.o: config.h
  272.  
  273. entry.o: config.h shadow.h
  274.  
  275. shadow.o: shadow.h
  276.  
  277. dialup.o: dialup.h
  278.  
  279. dialchk.o: dialup.h config.h
  280.  
  281. valid.o: config.h
  282.  
  283. failure.o: faillog.h config.h
  284.  
  285. faillog.o: faillog.h config.h
  286.  
  287. pwent.o: config.h
  288.  
  289. port.o: port.h
  290.  
  291. newgrp.o: config.h shadow.h
  292.  
  293. mkpasswd.o: config.h
  294.  
  295. chfn.o: config.h
  296.  
  297. clean:
  298.     -rm -f *.o a.out core npasswd nshadow *.pag *.dir
  299.  
  300. clobber: clean
  301.     -rm -f $(BINS) *.L
  302.  
  303. shar:    login.sh.1 login.sh.2 login.sh.3
  304.  
  305. login.sh.1: $(FILES1)
  306.     shar -a $(FILES1) > login.sh.1
  307.  
  308. login.sh.2: $(FILES2)
  309.     shar -a $(FILES2) > login.sh.2
  310.  
  311. login.sh.3: $(DOCS)
  312.     shar -a $(DOCS) > login.sh.3
  313.