home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2290 / Makefile < prev    next >
Encoding:
Makefile  |  1990-12-28  |  8.2 KB  |  360 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.16    08:41:16  - Shadow password system
  9. #
  10. #    @(#)Makefile    2.16    08:41:16    11/8/90
  11. #
  12. SHELL = /bin/sh
  13.  
  14. #
  15. # Set this flag to decide what level of code "get" returns.
  16. # The base USENET release was release 1.  It is no longer supported.
  17. # The unreleased version with the utilities added is release 2.
  18. RELEASE = 2
  19. GFLAGS = -t -r$(RELEASE)
  20.  
  21. # Define the directory login is copied to.  BE VERY CAREFUL!!!
  22. # LOGINDIR = /bin
  23. LOGINDIR = /etc
  24.  
  25. # Pick your favorite C compiler and tags command
  26. CC = cc
  27. TAGS = ctags
  28.  
  29. # OS.  Currently only BSD and USG are defined.  If you don't use BSD,
  30. # USG (System V) is assumed.
  31. # OS = -DBSD
  32.  
  33. # Do you have to do ranlib?  Sorry to hear that ...
  34. RANLIB = ranlib
  35. # RANLIB = echo
  36.  
  37. # Flags for SCO Xenix/386
  38. CFLAGS = -O -M3 -g $(PWDEF) $(AL64DEF) $(OS)
  39. LIBS = -lcrypt -ldbm
  40. LDFLAGS = -M3 -g
  41. LTFLAGS = 
  42. # This should be Slibsec.a for small model, or Llibsec.a for
  43. # large model or whatever.  MUST AGREE WITH CFLAGS!!!
  44. LIBSEC = Slibsec.a
  45.  
  46. # Flags for normal machines
  47. # CFLAGS = -O -g $(PWDEF) $(AL64DEF) $(OS)
  48. # LIBS =
  49. # LDFLAGS = -g
  50. # LIBSEC = libsec.a
  51.  
  52. LOBJS = lmain.o login.o env.o password.o entry.o valid.o setup.o shell.o age.o \
  53.     pwent.o utmp.o sub.o mail.o motd.o log.o shadow.o dialup.o dialchk.o \
  54.     ttytype.o failure.o port.o pwpack.o
  55.  
  56. LSRCS = lmain.c login.c env.c password.c entry.c valid.c setup.c shell.c age.c \
  57.     pwent.c utmp.c sub.c mail.c motd.c log.c shadow.c dialup.c dialchk.c \
  58.     ttytype.c failure.c port.c pwpack.c
  59.  
  60. SOBJS = smain.o env.o password.o entry.o suvalid.o susetup.o sushell.o \
  61.     pwent.o susub.o mail.o motd.o sulog.o shadow.o suage.o pwpack.o
  62.  
  63. SSRCS = smain.c env.c password.c entry.c valid.c setup.c shell.c \
  64.     pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c
  65.  
  66. POBJS = pmain.o password.o entry.o valid.o pwage.o pwent.o obscure.o shadow.o \
  67.     pwpack.o
  68.  
  69. PSRCS = pmain.c password.c entry.c valid.c age.c pwent.c obscure.c shadow.c \
  70.     pwpack.c
  71.  
  72. GPSRCS = gpmain.c password.c grent.c
  73.  
  74. GPOBJS = gpmain.o password.o grent.o
  75.  
  76. PWOBJS = pwconv.o pwent.o shadow.o pwage.o pwpack.o
  77.  
  78. PWSRCS = pwconv.c pwent.c shadow.c age.c pwpack.c
  79.  
  80. PWUNOBJS = pwunconv.o pwent.o shadow.o pwage.o pwpack.o
  81.  
  82. PWUNSRCS = pwunconv.c pwent.c shadow.c age.c pwpack.c
  83.  
  84. SULOGOBJS = sulogin.o entry.o env.o password.o pwage.o pwent.o setup.o \
  85.     shadow.o shell.o valid.o pwpack.o
  86.  
  87. SULOGSRCS = sulogin.c entry.c env.c password.c age.c pwent.c setup.c \
  88.     shadow.c shell.c valid.c pwpack.c
  89.  
  90. DBOBJS = mkpasswd.o pwent.o pwpack.o
  91.  
  92. DBSRCS = mkpasswd.c pwent.c pwpack.c
  93.  
  94. NGSRCS = newgrp.c shadow.c password.c
  95.  
  96. NGOBJS = newgrp.o shadow.o password.o
  97.  
  98. CHFNSRCS = chfn.c pwent.c pwpack.c
  99.  
  100. CHFNOBJS = chfn.o pwent.o pwpack.o
  101.  
  102. CHSHSRCS = chsh.c pwent.c pwpack.c
  103.  
  104. CHSHOBJS = chsh.o pwent.o pwpack.o
  105.  
  106. CHAGEOBJS = chage.o pwent.o pwpack.o pwage.o shadow.o
  107.  
  108. CHAGESRCS = chage.c pwent.c pwpack.c age.c shadow.c
  109.  
  110. ALLSRCS = age.c dialchk.c dialup.c entry.c env.c lmain.c log.c login.c mail.c \
  111.     motd.c obscure.c password.c pmain.c pwconv.c pwent.c pwunconv.c \
  112.     setup.c shadow.c shell.c smain.c sub.c sulog.c sulogin.c ttytype.c \
  113.     utmp.c valid.c port.c newgrp.c gpmain.c grent.c mkpasswd.c pwpack.c \
  114.     chfn.c chsh.c chage.c
  115.  
  116. FILES1 = README newgrp.c Makefile config.h pwunconv.c obscure.c age.c \
  117.     sub.c login.c shell.c lastlog.h
  118.  
  119. FILES2 = pmain.c port.c lmain.c mkpasswd.c sulogin.c pwpack.c dialup.c \
  120.     sulog.c password.c env.c mail.c dialchk.c
  121.  
  122. FILES3 = chfn.c chsh.c smain.c faillog.c pwconv.c failure.c utmp.c shadow.c \
  123.     log.c shadow.h faillog.h
  124.  
  125. FILES4 = gpmain.c chage.c pwent.c valid.c setup.c entry.c ttytype.c port.h \
  126.     grent.c motd.c dialup.h
  127.  
  128. MAN_1 = chage.1 chfn.1 chsh.1 login.1 passwd.1 su.1
  129. MAN_3 = shadow.3
  130. MAN_4 = faillog.4 passwd.4 porttime.4 shadow.4
  131. MAN_8 = faillog.8 pwconv.8 pwunconv.8 sulogin.8
  132.  
  133. DOCS = $(MAN_1) $(MAN_3) $(MAN_4) $(MAN_8)
  134.  
  135. BINS = su login pwconv pwunconv passwd sulogin faillog newgrp gpasswd \
  136.     mkpasswd chfn chsh chage
  137.  
  138. all:    $(BINS) $(DOCS)
  139.  
  140. libsec: shadow.o
  141.     ar rv $(LIBSEC) shadow.o
  142.     $(RANLIB) $(LIBSEC)
  143.  
  144. install: all
  145.     strip $(BINS)
  146.     cp login $(LOGINDIR)/login
  147.     cp mkpasswd pwconv pwunconv sulogin /etc
  148.     cp su passwd gpasswd faillog newgrp chfn chsh /bin
  149.     cp shadow.h /usr/include
  150.     chown root $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  151.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd
  152.     chgrp root $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  153.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd
  154.     chown bin /bin/faillog /usr/include/shadow.h
  155.     chgrp bin /bin/faillog /usr/include/shadow.h
  156.     chmod 700 /etc/pwconv /etc/pwunconv /etc/sulogin /etc/mkpasswd
  157.     chmod 4711 $(LOGINDIR)/login /bin/su /bin/passwd /bin/gpasswd \
  158.         /bin/newgrp /bin/chfn
  159.     chmod 711 /bin/faillog
  160.     chmod 444 /usr/include/shadow.h
  161.  
  162. lint:    su.L login.L pwconv.L pwunconv.L passwd.L sulogin.L faillog.L \
  163.     newgrp.L gpasswd.L mkpasswd.L chfn.L chsh.L chage.L
  164.  
  165. tags:    $(ALLSRCS)
  166.     $(TAGS) $(ALLSRCS)
  167.  
  168. README:    s.README
  169.     get -t -r$(RELEASE) s.README
  170.     
  171. $(DOCS):
  172.     get -t -r$(RELEASE) s.$@
  173.  
  174. login:    $(LOBJS)
  175.     $(CC) -o login $(LDFLAGS) $(LOBJS) $(LIBS)
  176.  
  177. login.L: $(LSRCS)
  178.     lint $(LSRCS) > login.L
  179.  
  180. su:    $(SOBJS)
  181.     $(CC) -o su $(LDFLAGS) $(SOBJS) $(LIBS)
  182.  
  183. su.L:    $(SSRCS)
  184.     lint -DSU $(SSRCS) > su.L
  185.  
  186. passwd:    $(POBJS)
  187.     $(CC) -o passwd $(LDFLAGS) $(POBJS) $(LIBS)
  188.  
  189. passwd.L: $(PSRCS)
  190.     lint -DPASSWD $(PSRCS) > passwd.L
  191.  
  192. gpasswd: $(GPOBJS)
  193.     $(CC) -o gpasswd $(LDFLAGS) $(GPOBJS) $(LIBS)
  194.  
  195. gpasswd.L: $(GPSRCS)
  196.     lint $(GPSRCS) > gpasswd.L
  197.  
  198. pwconv:    $(PWOBJS)
  199.     $(CC) -o pwconv $(LDFLAGS) $(PWOBJS) $(LIBS)
  200.  
  201. pwconv.L: $(PWSRCS)
  202.     lint -DPASSWD $(PWSRCS) > pwconv.L
  203.  
  204. pwunconv: $(PWUNOBJS)
  205.     $(CC) -o pwunconv $(LDFLAGS) $(PWUNOBJS) $(LIBS)
  206.  
  207. pwunconv.L: $(PWUNSRCS)
  208.     lint -DPASSWD $(PWUNSRCS) > pwunconv.L
  209.  
  210. sulogin: $(SULOGOBJS)
  211.     $(CC) -o sulogin $(LDFLAGS) $(SULOGOBJS) $(LIBS)
  212.  
  213. sulogin.L: $(SULOGSRCS)
  214.     lint $(SULOGSRCS) > sulogin.L
  215.  
  216. faillog: faillog.o
  217.     $(CC) -o faillog $(LDFLAGS) faillog.o $(LIBS)
  218.  
  219. faillog.L: faillog.c faillog.h config.h
  220.     lint faillog.c > faillog.L
  221.  
  222. mkpasswd: $(DBOBJS)
  223.     $(CC) -o mkpasswd $(LDFLAGS) $(DBOBJS) $(LIBS)
  224.  
  225. mkpasswd.L: $(DBSRCS)
  226.     lint $(DBSRCS) > mkpasswd.L
  227.  
  228. newgrp: $(NGOBJS)
  229.     $(CC) -o newgrp $(LDFLAGS) $(NGOBJS) $(LIBS)
  230.  
  231. newgrp.L: $(NGSRCS)
  232.     lint $(NGSRCS) > newgrp.L
  233.  
  234. chfn:    $(CHFNOBJS)
  235.     $(CC) -o chfn $(LDFLAGS) $(CHFNOBJS) $(LIBS)
  236.  
  237. chfn.L:    $(CHFNSRCS)
  238.     lint $(CHFNSRCS) > chfn.L
  239.  
  240. chsh:    $(CHSHOBJS)
  241.     $(CC) -o chsh $(LDFLAGS) $(CHSHOBJS) $(LIBS)
  242.  
  243. chsh.L: $(CHSHSRCS)
  244.     lint $(CHSHSRCS) > chsh.L
  245.  
  246. chage:    $(CHAGEOBJS)
  247.     $(CC) -o chage $(LDFLAGS) $(CHAGEOBJS) $(LIBS)
  248.  
  249. chage.L: $(CHAGESRCS)
  250.     lint -DPASSWD $(CHAGESRCS) > chage.L
  251.  
  252. sushell.c: shell.c
  253.     cp shell.c sushell.c
  254.  
  255. sushell.o: config.h sushell.c
  256.     $(CC) -c $(CFLAGS) -DSU sushell.c
  257.  
  258. susub.c: sub.c
  259.     cp sub.c susub.c
  260.  
  261. susub.o: config.h susub.c
  262.     $(CC) -c $(CFLAGS) -DSU susub.c
  263.  
  264. sulog.o: config.h
  265.  
  266. susetup.c: setup.c
  267.     cp setup.c susetup.c
  268.  
  269. susetup.o: config.h setup.c
  270.     $(CC) -c $(CFLAGS) -DSU susetup.c
  271.  
  272. suvalid.c: valid.c
  273.     cp valid.c suvalid.c
  274.  
  275. suvalid.o: config.h valid.c
  276.     $(CC) -c $(CFLAGS) -DSU suvalid.c
  277.  
  278. pmain.o: config.h lastlog.h shadow.h
  279.  
  280. pwage.o: age.c config.h
  281.     cp age.c pwage.c
  282.     $(CC) -c $(CFLAGS) -DPASSWD pwage.c
  283.     rm pwage.c
  284.  
  285. suage.o: age.c config.h
  286.     cp age.c suage.c
  287.     $(CC) -c $(CFLAGS) -DSU suage.c
  288.     rm suage.c
  289.  
  290. lmain.o: config.h lastlog.h faillog.h
  291.  
  292. smain.o: config.h lastlog.h
  293.  
  294. setup.o: config.h
  295.  
  296. utmp.o: config.h
  297.  
  298. mail.o: config.h
  299.  
  300. motd.o: config.h
  301.  
  302. age.o: config.h
  303.  
  304. log.o: config.h lastlog.h
  305.  
  306. shell.o: config.h
  307.  
  308. entry.o: config.h shadow.h
  309.  
  310. shadow.o: shadow.h
  311.  
  312. dialup.o: dialup.h
  313.  
  314. dialchk.o: dialup.h config.h
  315.  
  316. valid.o: config.h
  317.  
  318. failure.o: faillog.h config.h
  319.  
  320. faillog.o: faillog.h config.h
  321.  
  322. pwent.o: config.h
  323.  
  324. port.o: port.h
  325.  
  326. newgrp.o: config.h shadow.h
  327.  
  328. mkpasswd.o: config.h
  329.  
  330. gpmain.o: config.h
  331.  
  332. chfn.o: config.h
  333.  
  334. chsh.o: config.h
  335.  
  336. chage.o: config.h shadow.h
  337.  
  338. clean:
  339.     -rm -f *.o a.out core npasswd nshadow *.pag *.dir
  340.  
  341. clobber: clean
  342.     -rm -f $(BINS) *.L sushell.c susetup.c susub.c suvalid.c
  343.  
  344. shar:    login.sh.1 login.sh.2 login.sh.3 login.sh.4 login.sh.5
  345.  
  346. login.sh.1: $(FILES1)
  347.     shar -a $(FILES1) > login.sh.1
  348.  
  349. login.sh.2: $(FILES2)
  350.     shar -a $(FILES2) > login.sh.2
  351.  
  352. login.sh.3: $(FILES3)
  353.     shar -a $(FILES3) > login.sh.3
  354.  
  355. login.sh.4: $(FILES4)
  356.     shar -a $(FILES4) > login.sh.4
  357.  
  358. login.sh.5: $(DOCS)
  359.     shar -a $(DOCS) > login.sh.5
  360.