home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 3 / 3345 / Makefile < prev    next >
Encoding:
Makefile  |  1991-05-17  |  11.0 KB  |  438 lines

  1. #
  2. # Copyright 1988,1989,1990, John F. Haugh II
  3. # All rights reserved.
  4. #
  5. # Permission is granted to copy and create derivative works for any
  6. # non-commercial purpose, provided this copyright notice is preserved
  7. # in all copies of source code, or included in human readable form
  8. # and conspicuously displayed on all copies of object code or
  9. # distribution media.
  10. #
  11. #    %W%    %U%  - Shadow password system
  12. #
  13. #    %W%    %U%    %G%
  14. #
  15. SHELL = /bin/sh
  16.  
  17. #
  18. # Set this flag to decide what level of code "get" returns.
  19. # The base USENET release was release 1.  It is no longer supported.
  20. # The version with the utilities added was release 2.
  21. # The unreleased version with database-like file access is release 3.
  22. RELEASE = 3
  23. GFLAGS = -t -r$(RELEASE)
  24.  
  25. # Define the directory login is copied to.  BE VERY CAREFUL!!!
  26. # LOGINDIR = /bin
  27. LOGINDIR = /etc
  28.  
  29. # Pick your favorite C compiler and tags command
  30. CC = cc
  31. TAGS = ctags
  32.  
  33. # OS.  Currently only BSD and USG are defined.  If you don't use BSD,
  34. # USG (System V) is assumed.
  35. OS = -DUSG
  36. # OS = -DBSD
  37.  
  38. # Do you have to do ranlib?  Sorry to hear that ...
  39. RANLIB = ranlib
  40. # RANLIB = echo
  41.  
  42. # Flags for SCO Xenix/386
  43. CFLAGS = -O -M3 -g $(OS)
  44. LIBS = -lcrypt -lndbm
  45. # LIBS = -lcrypt -ldbm
  46. LDFLAGS = -M3 -g
  47. LTFLAGS = 
  48. # This should be Slibsec.a for small model, or Llibsec.a for
  49. # large model or whatever.  MUST AGREE WITH CFLAGS!!!
  50. LIBSEC = Slibsec.a
  51.  
  52. # Flags for normal machines
  53. # CFLAGS = -O -g $(OS)
  54. # LIBS =
  55. # LDFLAGS = -g
  56. # LIBSEC = libsec.a
  57.  
  58. # Names for root user and group, and bin user and group
  59. RUID = root
  60. RGID = root
  61. BUID = bin
  62. BGID = bin
  63.  
  64. # Rules for .L (lint) files.
  65. .SUFFIXES: .L
  66. LINT = lint
  67. LINTFLAGS = $(OS) -Dlint
  68.  
  69. .c.L:
  70.     $(LINT) -u $(LINTFLAGS) $*.c > $*.L
  71.  
  72. LOBJS = lmain.o login.o env.o valid.o setup.o shell.o age.o \
  73.     utmp.o sub.o mail.o motd.o log.o ttytype.o failure.o
  74.  
  75. LSRCS = lmain.c login.c env.c valid.c setup.c shell.c age.c \
  76.     utmp.c sub.c mail.c motd.c log.c ttytype.c failure.c
  77.  
  78. SOBJS = smain.o env.o entry.o susetup.o shell.o \
  79.     sub.o mail.o motd.o sulog.o age.o
  80.  
  81. SSRCS = smain.c env.c entry.c setup.c shell.c \
  82.     pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c
  83.  
  84. POBJS = passwd.o obscure.o
  85. PSRCS = passwd.c obscure.c
  86.  
  87. GPSRCS = gpmain.c
  88.  
  89. GPOBJS = gpmain.o
  90.  
  91. PWOBJS = pwconv.o
  92.  
  93. PWSRCS = pwconv.c pwent.c shadow.c pwpack.c rad64.c
  94.  
  95. PWUNOBJS = pwunconv.o
  96.  
  97. PWUNSRCS = pwunconv.c pwent.c shadow.c pwpack.c rad64.c
  98.  
  99. SULOGOBJS = sulogin.o entry.o env.o age.o setup.o \
  100.     valid.o shell.o
  101.  
  102. SULOGSRCS = sulogin.c entry.c env.c age.c pwent.c setup.c \
  103.     shadow.c shell.c valid.c pwpack.c
  104.  
  105. MKPWDOBJS = mkpasswd.o
  106.  
  107. MKPWDSRCS = mkpasswd.c
  108.  
  109. NGSRCS = newgrp.c env.c shell.c
  110.  
  111. NGOBJS = newgrp.o env.o shell.o
  112.  
  113. CHFNSRCS = chfn.c fields.c
  114. CHFNOBJS = chfn.o fields.o
  115. CHSHSRCS = chsh.c fields.c
  116. CHSHOBJS = chsh.o fields.o
  117. CHAGEOBJS = chage.o fields.o
  118. CHAGESRCS = chage.c fields.c
  119. CHPASSOBJS = chpasswd.o
  120. CHPASSSRCS = chpasswd.c
  121. DPSRCS = dpmain.c
  122. DPOBJS = dpmain.o
  123.  
  124. ALLSRCS = age.c dialchk.c dialup.c entry.c env.c lmain.c log.c login.c mail.c \
  125.     motd.c obscure.c passwd.c pwconv.c pwent.c pwunconv.c getpass.c \
  126.     setup.c shadow.c shell.c smain.c sub.c sulog.c sulogin.c ttytype.c \
  127.     utmp.c valid.c port.c newgrp.c gpmain.c grent.c mkpasswd.c pwpack.c \
  128.     chfn.c chsh.c chage.c rad64.c encrypt.c chpasswd.c shadowio.c pwio.c \
  129.     newusers.c groupio.c fields.c pwdbm.c grpack.c grdbm.c sppack.c \
  130.     spdbm.c dpmain.c gshadow.c gsdbm.c gspack.c sgroupio.c
  131.  
  132. FILES1 = README newgrp.c Makefile config.h pwunconv.c obscure.c age.c
  133.  
  134. FILES2 = passwd.c port.c lmain.c mkpasswd.c sulogin.c pwpack.c dialup.c \
  135.     sulog.c getpass.c
  136.  
  137. FILES3 = chfn.c chsh.c smain.c faillog.c pwconv.c failure.c utmp.c shadow.c
  138.  
  139. FILES4 = gpmain.c chage.c pwent.c valid.c setup.c entry.c ttytype.c port.h
  140.  
  141. FILES5 = pwio.c encrypt.c chpasswd.c newusers.c rad64.c dialchk.c faillog.h \
  142.     pwdbm.c grdbm.c gshadow.c sppack.c
  143.  
  144. FILES6 = gspack.c spdbm.c lastlog.h shell.c login.c sub.c dpmain.c mail.c \
  145.     env.c pwd.h grpack.c shadow.h log.c grent.c motd.c dialup.h fields.c \
  146.     gsdbm.c
  147.  
  148. FILES7 = groupio.c shadowio.c sgroupio.c
  149.  
  150. MAN_1 = chage.1 chfn.1 chsh.1 login.1 passwd.1 su.1
  151. MAN_3 = shadow.3
  152. MAN_4 = faillog.4 passwd.4 porttime.4 shadow.4
  153. MAN_8 = faillog.8 pwconv.8 pwunconv.8 sulogin.8
  154.  
  155. DOCS = $(MAN_1) $(MAN_3) $(MAN_4) $(MAN_8)
  156.  
  157. BINS = su login pwconv pwunconv passwd sulogin faillog newgrp gpasswd \
  158.     mkpasswd chfn chsh chage chpasswd newusers dpasswd id
  159.  
  160. all:    $(BINS) $(DOCS)
  161.  
  162. .PRECIOUS: libshadow.a
  163. libshadow.a: \
  164.     libshadow.a(dialchk.o) \
  165.     libshadow.a(dialup.o) \
  166.     libshadow.a(encrypt.o) \
  167.     libshadow.a(getpass.o) \
  168.     libshadow.a(grdbm.o) \
  169.     libshadow.a(grent.o) \
  170.     libshadow.a(groupio.o) \
  171.     libshadow.a(grpack.o) \
  172.     libshadow.a(gshadow.o) \
  173.     libshadow.a(gsdbm.o) \
  174.     libshadow.a(gspack.o) \
  175.     libshadow.a(sgroupio.o) \
  176.     libshadow.a(port.o) \
  177.     libshadow.a(pwdbm.o) \
  178.     libshadow.a(pwent.o) \
  179.     libshadow.a(pwio.o) \
  180.     libshadow.a(pwpack.o) \
  181.     libshadow.a(rad64.o) \
  182.     libshadow.a(spdbm.o) \
  183.     libshadow.a(shadow.o) \
  184.     libshadow.a(shadowio.o) \
  185.     libshadow.a(sppack.o)
  186.     $(RANLIB) libshadow.a
  187.  
  188. libsec: $(LIBSEC)(shadow.o)
  189.     $(RANLIB) $(LIBSEC)
  190.  
  191. install: all
  192.     strip $(BINS)
  193.     cp login $(LOGINDIR)/login
  194.     cp mkpasswd pwconv pwunconv sulogin chpasswd newusers /etc
  195.     cp su passwd gpasswd dpasswd faillog newgrp chfn chsh id /bin
  196.     cp dialup.h shadow.h pwd.h /usr/include
  197.     chown $(RUID) $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  198.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd \
  199.         /bin/dpasswd /bin/chsh /bin/chfn /bin/chage
  200.     chgrp $(RGID) $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  201.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd \
  202.         /bin/dpasswd /bin/chsh /bin/chfn /bin/chage
  203.     chown $(BUID) /bin/faillog /bin/id /usr/include/shadow.h \
  204.         /usr/include/dialup.h /usr/include/pwd.h
  205.     chgrp $(BGID) /bin/faillog /bin/id /usr/include/shadow.h \
  206.         /usr/include/dialup.h /usr/include/pwd.h
  207.     chmod 700 /etc/pwconv /etc/pwunconv /etc/sulogin /etc/mkpasswd \
  208.         /etc/chpasswd /etc/newusers /bin/dpasswd /bin/chage
  209.     chmod 4711 $(LOGINDIR)/login /bin/su /bin/passwd /bin/gpasswd \
  210.         /bin/newgrp /bin/chfn /bin/chsh
  211.     chmod 711 /bin/faillog /bin/id
  212.     chmod 444 /usr/include/shadow.h /usr/include/dialup.h \
  213.         /usr/include/pwd.h
  214.  
  215. lint:    su.lint login.lint pwconv.lint pwunconv.lint passwd.lint sulogin.lint \
  216.     faillog.lint newgrp.lint gpasswd.lint mkpasswd.lint chfn.lint \
  217.     chsh.lint chage.lint dpasswd.lint $(ALLSRCS:.c=.L)
  218.  
  219. tags:    $(ALLSRCS)
  220.     $(TAGS) $(ALLSRCS)
  221.  
  222. README:    s.README
  223.     get -t -r$(RELEASE) s.README
  224.     
  225. $(DOCS):
  226.     get -t -r$(RELEASE) s.$@
  227.  
  228. login:    $(LOBJS) libshadow.a
  229.     $(CC) -o login $(LDFLAGS) $(LOBJS) libshadow.a $(LIBS)
  230.  
  231. login.lint: $(LSRCS)
  232.     $(LINT) $(LINTFLAGS) $(LSRCS) > login.lint
  233.  
  234. su:    $(SOBJS) libshadow.a
  235.     $(CC) -o su $(LDFLAGS) $(SOBJS) libshadow.a $(LIBS)
  236.  
  237. su.lint:    $(SSRCS)
  238.     $(LINT) $(LINTFLAGS) -DSU $(SSRCS) > su.lint
  239.  
  240. passwd:    $(POBJS) libshadow.a
  241.     $(CC) -o passwd $(LDFLAGS) $(POBJS) libshadow.a $(LIBS)
  242.  
  243. passwd.lint: $(PSRCS)
  244.     $(LINT) $(LINTFLAGS) -DPASSWD $(PSRCS) > passwd.lint
  245.  
  246. gpasswd: $(GPOBJS) libshadow.a
  247.     $(CC) -o gpasswd $(LDFLAGS) $(GPOBJS) libshadow.a $(LIBS)
  248.  
  249. gpasswd.lint: $(GPSRCS)
  250.     $(LINT) $(LINTFLAGS) $(GPSRCS) > gpasswd.lint
  251.  
  252. dpasswd: $(DPOBJS) libshadow.a
  253.     $(CC) -o dpasswd $(LDFLAGS) $(DPOBJS) libshadow.a $(LIBS)
  254.  
  255. dpasswd.lint: $(DPSRCS)
  256.     $(LINT) $(LINTFLAGS) $(DPSRCS) > dpasswd.lint
  257.  
  258. pwconv:    $(PWOBJS) libshadow.a config.h
  259.     $(CC) -o pwconv $(LDFLAGS) $(PWOBJS) libshadow.a $(LIBS)
  260.  
  261. pwconv.lint: $(PWSRCS) config.h
  262.     $(LINT) $(LINTFLAGS) -DPASSWD $(PWSRCS) > pwconv.lint
  263.  
  264. pwunconv: $(PWUNOBJS) libshadow.a config.h
  265.     $(CC) -o pwunconv $(LDFLAGS) $(PWUNOBJS) libshadow.a $(LIBS)
  266.  
  267. pwunconv.lint: $(PWUNSRCS)
  268.     $(LINT) $(LINTFLAGS) -DPASSWD $(PWUNSRCS) > pwunconv.lint
  269.  
  270. sulogin: $(SULOGOBJS) libshadow.a
  271.     $(CC) -o sulogin $(LDFLAGS) $(SULOGOBJS) libshadow.a $(LIBS)
  272.  
  273. sulogin.lint: $(SULOGSRCS)
  274.     $(LINT) $(LINTFLAGS) $(SULOGSRCS) > sulogin.lint
  275.  
  276. faillog: faillog.o
  277.     $(CC) -o faillog $(LDFLAGS) faillog.o $(LIBS)
  278.  
  279. faillog.lint: faillog.c faillog.h config.h
  280.     $(LINT) $(LINTFLAGS) faillog.c > faillog.lint
  281.  
  282. mkpasswd: $(MKPWDOBJS) libshadow.a
  283.     $(CC) -o mkpasswd $(LDFLAGS) $(MKPWDOBJS) libshadow.a $(LIBS)
  284.  
  285. mkpasswd.lint: $(MKPWDSRCS)
  286.     $(LINT) $(LINTFLAGS) $(MKPWDSRCS) > mkpasswd.lint
  287.  
  288. newgrp: $(NGOBJS) libshadow.a
  289.     $(CC) -o newgrp $(LDFLAGS) $(NGOBJS) libshadow.a $(LIBS)
  290.  
  291. newgrp.lint: $(NGSRCS)
  292.     $(LINT) $(LINTFLAGS) $(NGSRCS) > newgrp.lint
  293.  
  294. chfn:    $(CHFNOBJS) libshadow.a
  295.     $(CC) -o chfn $(LDFLAGS) $(CHFNOBJS) libshadow.a $(LIBS)
  296.  
  297. chfn.lint:    $(CHFNSRCS)
  298.     $(LINT) $(LINTFLAGS) $(CHFNSRCS) > chfn.lint
  299.  
  300. chsh:    $(CHSHOBJS) libshadow.a
  301.     $(CC) -o chsh $(LDFLAGS) $(CHSHOBJS) libshadow.a $(LIBS)
  302.  
  303. chsh.lint: $(CHSHSRCS)
  304.     $(LINT) $(LINTFLAGS) $(CHSHSRCS) > chsh.lint
  305.  
  306. chage:    $(CHAGEOBJS) libshadow.a
  307.     $(CC) -o chage $(LDFLAGS) $(CHAGEOBJS) libshadow.a $(LIBS)
  308.  
  309. chage.lint: $(CHAGESRCS)
  310.     $(LINT) $(LINTFLAGS) -DPASSWD $(CHAGESRCS) > chage.lint
  311.  
  312. chpasswd: $(CHPASSOBJS) libshadow.a
  313.     $(CC) -o chpasswd $(LDFLAGS) $(CHPASSOBJS) libshadow.a $(LIBS)
  314.  
  315. chpasswd.lint: $(CHPASSSRCS)
  316.     $(LINT) $(LINTFLAGS) $(CHPASSSRCS) > chpasswd.lint
  317.  
  318. newusers: newusers.o libshadow.a
  319.     $(CC) -o newusers $(LDFLAGS) newusers.o libshadow.a $(LIBS)
  320.  
  321. newusers.lint: newusers.c
  322.     $(LINT) $(LINTFLAGS) newusers.c > newusers.lint
  323.     
  324. id: id.o libshadow.a
  325.     $(CC) -o id $(LDFLAGS) id.o libshadow.a $(LIBS)
  326.  
  327. id.lint: id.c
  328.     $(LINT) $(LINTFLAGS) id.c > id.lint
  329.  
  330. sulog.o: config.h
  331.  
  332. susetup.c: setup.c
  333.     cp setup.c susetup.c
  334.  
  335. susetup.o: config.h setup.c pwd.h
  336.     $(CC) -c $(CFLAGS) -DSU susetup.c
  337.  
  338. passwd.o: config.h shadow.h pwd.h
  339. lmain.o: config.h lastlog.h faillog.h pwd.h
  340. smain.o: config.h lastlog.h pwd.h shadow.h
  341. sub.o: pwd.h
  342. setup.o: config.h pwd.h
  343.  
  344. utmp.o: config.h
  345.  
  346. mail.o: config.h
  347.  
  348. motd.o: config.h
  349.  
  350. age.o: config.h pwd.h
  351.  
  352. log.o: config.h lastlog.h pwd.h
  353.  
  354. shell.o: config.h
  355.  
  356. entry.o: config.h shadow.h pwd.h
  357.  
  358. shadow.o: shadow.h config.h
  359. shadowio.o: shadow.h
  360. grent.o: config.h shadow.h
  361. sgroupio.o: shadow.h
  362. dialup.o: dialup.h
  363. dialchk.o: dialup.h config.h
  364. pwdbm.o: config.h pwd.h
  365. pwpack.o: config.h pwd.h
  366. pwent.o: config.h pwd.h
  367. pwio.o: pwd.h
  368. getpass.o: config.h
  369. encrypt.o: config.h
  370. port.o: port.h
  371.  
  372. valid.o: config.h pwd.h
  373.  
  374. failure.o: faillog.h config.h
  375.  
  376. faillog.o: faillog.h config.h pwd.h
  377.  
  378. newgrp.o: config.h shadow.h pwd.h
  379.  
  380. mkpasswd.o: config.h shadow.h pwd.h
  381.  
  382. gpmain.o: config.h pwd.h
  383.  
  384. chfn.o: config.h pwd.h
  385.  
  386. chsh.o: config.h pwd.h
  387.  
  388. chage.o: config.h shadow.h pwd.h
  389.  
  390. pwconv.o: config.h shadow.h
  391.  
  392. pwunconv.o: config.h shadow.h pwd.h
  393.  
  394. chpasswd.o: config.h shadow.h pwd.h
  395. id.o: pwd.h
  396. newusers.o: config.h shadow.h pwd.h
  397. dpmain.o: dialup.h
  398.  
  399. clean:
  400.     -rm -f *.o a.out core npasswd nshadow *.pag *.dir
  401.  
  402. clobber: clean
  403.     -rm -f $(BINS) *.lint *.L susetup.c libshadow.a
  404.  
  405. nuke:    clobber
  406.     -for file in * ; do \
  407.         if [ -f s.$$file -a ! -f p.$$file ] ; then \
  408.             rm -f $$file ;\
  409.         fi ;\
  410.     done
  411.  
  412. shar:    login.sh.1 login.sh.2 login.sh.3 login.sh.4 login.sh.5 login.sh.6 \
  413.     login.sh.7 login.sh.8
  414.  
  415. login.sh.1: $(FILES1) Makefile
  416.     shar -a $(FILES1) > login.sh.1
  417.  
  418. login.sh.2: $(FILES2) Makefile
  419.     shar -a $(FILES2) > login.sh.2
  420.  
  421. login.sh.3: $(FILES3) Makefile
  422.     shar -a $(FILES3) > login.sh.3
  423.  
  424. login.sh.4: $(FILES4) Makefile
  425.     shar -a $(FILES4) > login.sh.4
  426.  
  427. login.sh.5: $(FILES5) Makefile
  428.     shar -a $(FILES5) > login.sh.5
  429.  
  430. login.sh.6: $(FILES6) Makefile
  431.     shar -a $(FILES6) > login.sh.6
  432.  
  433. login.sh.7: $(FILES7) Makefile
  434.     shar -a $(FILES7) > login.sh.7
  435.  
  436. login.sh.8: $(DOCS) Makefile
  437.     shar -a $(DOCS) > login.sh.8
  438.