home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume38 / shadow / part02 / Makefile < prev    next >
Makefile  |  1993-08-14  |  20KB  |  682 lines

  1. #
  2. # Copyright 1988,1989,1990,1991,1992,1993 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. # This software is provided on an AS-IS basis and the author makes
  12. # no warrantee of any kind.
  13. #
  14. #    @(#)Makefile    3.25.1.18    09:57:59  - Shadow password system
  15. #
  16. #    @(#)Makefile    3.25.1.18    09:57:59    08 Aug 1993
  17. #
  18. SHELL = /bin/sh
  19.  
  20. #
  21. # Set this flag to decide what level of code "get" returns.
  22. # The base USENET release was release 1.  It is no longer supported.
  23. # The version with the utilities added was release 2.  It is now unsupported.
  24. # The version with database-like file access is release 3.
  25. RELEASE = 3
  26. VERSION = ver3.3.0
  27. GFLAGS = -n $(VERSION)
  28. GET = get_file
  29.  
  30. # Define the directory login is copied to.  BE VERY CAREFUL!!!  BSD old SunOS
  31. # seems to use /bin, USG seems to use /etc, SunOS 4.1.1 seems to use /usr/bin.
  32. # If you define SCOLOGIN, you MUST use /etc as LOGINDIR.
  33. # LOGINDIR = /bin
  34. LOGINDIR = /etc
  35. # LOGINDIR = /usr/bin
  36.  
  37. # Define any special libraries required to access the directory routines.
  38. # Some systems require -lndir for the directory routines.  SCO Xenix uses
  39. # -lx for that.  Your system might need nothing.
  40. # NDIR = -lndir
  41. NDIR = -lx
  42. # NDIR =
  43.  
  44. # Define some stuff for Cracklib.  This assumes that libcracklib.a is
  45. # in a system directory.
  46. # CRACKDEF='-DCRACKLIB_DICTPATH="$(DICTPATH)"'
  47. # CRACKLIB=-lcrack
  48.  
  49. # Pick your favorite C compiler and tags command
  50. CC = cc
  51. TAGS = ctags
  52.  
  53. # OS.  Pick one of USG (AT&T, SYSV, SYS3), BSD, SUN (SunOS 2 and 3),
  54. # SUN4 (SunOS 4.1.1.), or UNIXPC (AT&T PC/7300, 3B1)
  55. # OS = -DUSG -DSYS3
  56. OS = -DUSG
  57. # OS = -DBSD
  58. # OS = -DSUN
  59. # OS = -DSUN4
  60. # OS = -DUSG -DUNIXPC
  61.  
  62. # Do you have to do ranlib (probably SUN, BSD and XENIX)?
  63. RANLIB = ranlib
  64. # RANLIB = echo
  65.  
  66. # Enable the following if you are running SCO TCP/IP.  It is a /bin/login
  67. # which understands the *ahem* novel way they do rlogin/telnet.
  68. # SCOLOGIN = scologin
  69.  
  70. # Configuration Flags
  71. #
  72. #    DEST_INCLUDE_DIR - local include files
  73. #    LIBS - system libraries
  74. #        -lsocket - needed for TCP/IP and possibly SYSLOG
  75. #        -ldbm or -lndbm - needed for DBM support
  76. #        -lcrypt - needed for SCO crypt() functions
  77. #    CFLAGS - C compiler flags
  78. #        -DLAI_TCP - needed for SCO Xenix Lachman TCP/IP
  79.  
  80. DEST_INCLUDE_DIR = /usr/include
  81.  
  82. # Flags for SCO Xenix/386
  83. CFLAGS = -O -M3 -g $(OS) -I$(DEST_INCLUDE_DIR) $(CRACKDEF)
  84. LIBS = -lcrypt -lndbm
  85. # LIBS = -lcrypt -ldbm
  86. LDFLAGS = -M3 -g
  87. LTFLAGS = 
  88.  
  89. # Flags for normal machines
  90. # CFLAGS = -O -g $(OS) -I$(DEST_INCLUDE_DIR) $(CRACKDEF)
  91. # LIBS =
  92. # LDFLAGS = -g
  93.  
  94. # Flags for SunOS 4.1.1
  95. # CFLAGS = -O2 $(OS) -I$(DEST_INCLUDE_DIR) $(CRACKDEF)
  96. # LIBS =
  97. # LDFLAGS = 
  98.  
  99. # This should be Slibsec.a for small model, or Llibsec.a for
  100. # large model or whatever.  MUST AGREE WITH CFLAGS!!!  For non-Intel
  101. # machines, just use libsec.a
  102. LIBSEC = Slibsec.a
  103. # LIBSEC = libsec.a
  104.  
  105. # Names for root user and group, and bin user and group.  See your
  106. # /etc/passwd and /etc/group files.  BSD and SUN use "wheel", most
  107. # others use "root" for RGID.
  108. RUID = root
  109. RGID = root
  110. # RGID = wheel
  111. BUID = bin
  112. BGID = bin
  113.  
  114. # Where the login.defs file will be copied.  Must agree with config.h
  115. DEST_LOGIN_DEFS = /etc/login.defs
  116.  
  117. # Rules for .L (lint) files.
  118. .SUFFIXES: .L
  119. LINT = lint
  120. LINTFLAGS = $(OS) -Dlint
  121.  
  122. .c.L:
  123.     $(LINT) -pxu $(LINTFLAGS) $*.c > $*.L
  124.  
  125. LOBJS = lmain.o login.o env.o valid.o setup.o shell.o age.o \
  126.     utmp.o sub.o mail.o motd.o log.o ttytype.o failure.o \
  127.     tz.o console.o hushed.o
  128.  
  129. LSRCS = lmain.c login.c env.c valid.c setup.c shell.c age.c \
  130.     utmp.c sub.c mail.c motd.c log.c ttytype.c failure.c \
  131.     tz.c console.c hushed.c
  132.  
  133. SOBJS = smain.o env.o entry.o susetup.o shell.o \
  134.     sub.o mail.o motd.o sulog.o age.o tz.o hushed.o
  135.  
  136. SSRCS = smain.c env.c entry.c setup.c shell.c \
  137.     pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c \
  138.     tz.c hushed.c
  139.  
  140. POBJS = passwd.o obscure.o
  141. PSRCS = passwd.c obscure.c
  142.  
  143. GPSRCS = gpmain.c
  144.  
  145. GPOBJS = gpmain.o
  146.  
  147. PWOBJS = pwconv.o
  148.  
  149. PWSRCS = pwconv.c pwent.c shadow.c pwpack.c rad64.c
  150.  
  151. PWUNOBJS = pwunconv.o
  152.  
  153. PWUNSRCS = pwunconv.c pwent.c shadow.c pwpack.c rad64.c
  154.  
  155. SULOGOBJS = sulogin.o entry.o env.o age.o setup.o \
  156.     valid.o shell.o tz.o
  157.  
  158. SULOGSRCS = sulogin.c entry.c env.c age.c pwent.c setup.c \
  159.     shadow.c shell.c valid.c pwpack.c tz.c
  160.  
  161. MKPWDOBJS = mkpasswd.o
  162.  
  163. MKPWDSRCS = mkpasswd.c
  164.  
  165. NGSRCS = newgrp.c env.c shell.c
  166.  
  167. NGOBJS = newgrp.o env.o shell.o
  168.  
  169. CHFNSRCS = chfn.c fields.c
  170. CHFNOBJS = chfn.o fields.o
  171. CHSHSRCS = chsh.c fields.c
  172. CHSHOBJS = chsh.o fields.o
  173. CHAGEOBJS = chage.o fields.o
  174. CHAGESRCS = chage.c fields.c
  175. CHPASSOBJS = chpasswd.o
  176. CHPASSSRCS = chpasswd.c
  177. DPSRCS = dpmain.c
  178. DPOBJS = dpmain.o
  179.  
  180. ALLSRCS = age.c dialchk.c dialup.c entry.c env.c lmain.c log.c login.c mail.c \
  181.     motd.c obscure.c passwd.c pwconv.c pwent.c pwunconv.c getpass.c \
  182.     setup.c shadow.c shell.c smain.c sub.c sulog.c sulogin.c ttytype.c \
  183.     utmp.c valid.c port.c newgrp.c gpmain.c grent.c mkpasswd.c pwpack.c \
  184.     chfn.c chsh.c chage.c rad64.c encrypt.c chpasswd.c shadowio.c pwio.c \
  185.     newusers.c groupio.c fields.c pwdbm.c grpack.c grdbm.c sppack.c \
  186.     spdbm.c dpmain.c gshadow.c gsdbm.c gspack.c sgroupio.c useradd.c \
  187.     userdel.c patchlevel.h usermod.c copydir.c mkrmdir.c groupadd.c \
  188.     groupdel.c groupmod.c tz.c console.c hushed.c getdef.c scologin.c \
  189.     logoutd.c groups.c pwauth.c lockpw.c chowndir.c
  190.  
  191. FILES1 = README patchlevel.h newgrp.c Makefile config.h pwunconv.c obscure.c \
  192.     age.c id.c
  193.  
  194. FILES2 = passwd.c port.c lmain.c sulogin.c pwpack.c dialup.c
  195.  
  196. FILES3 = chfn.c chsh.c smain.c faillog.c pwconv.c shadow.c pwck.c
  197.  
  198. FILES4 = gpmain.c chage.c pwent.c valid.c setup.c entry.c ttytype.c port.h
  199.  
  200. FILES5 = pwio.c encrypt.c chpasswd.c newusers.c rad64.c dialchk.c faillog.h \
  201.     pwdbm.c grdbm.c gshadow.c sppack.c grpck.c
  202.  
  203. FILES6 = gspack.c spdbm.c lastlog.h shell.c login.c sub.c dpmain.c mail.c \
  204.     env.c pwd.h.m4 grpack.c shadow.h log.c grent.c motd.c dialup.h \
  205.     fields.c gsdbm.c utmp.c failure.c
  206.  
  207. FILES7 = groupio.c shadowio.c sgroupio.c groups.c copydir.c mkrmdir.c \
  208.     mkpasswd.c pwauth.c pwauth.h lastlog.c
  209.  
  210. FILES8 = useradd.c usermod.c login.defs
  211.  
  212. FILES9 = groupadd.c groupdel.c groupmod.c tz.c console.c hushed.c getdef.c \
  213.     scologin.c logoutd.c sulog.c getpass.c userdel.c lockpw.c chowndir.c
  214.  
  215. FILES_SUN4 = Makefile.sun4 README.sun4 config.h.sun4
  216. FILES_SVR4 = Makefile.svr4 config.h.svr4
  217.  
  218. MAN_1 = chage.1 chfn.1 chsh.1 id.1 login.1 newgrp.1 passwd.1 su.1 \
  219.     useradd.1 userdel.1 usermod.1 groupadd.1 groupdel.1 groupmod.1 \
  220.     groups.1 pwck.1 grpck.1
  221. MAN_3 = shadow.3 pwauth.3
  222. MAN_4 = faillog.4 passwd.4 porttime.4 shadow.4
  223. MAN_5 = login.5
  224. MAN_8 = chpasswd.8 dpasswd.8 faillog.8 newusers.8 pwconv.8 pwunconv.8 \
  225.     sulogin.8 mkpasswd.8 logoutd.8 pwauth.8 lastlog.8
  226.  
  227. DOCS1 = $(MAN_1) $(MAN_3) $(MAN_4)
  228. DOCS2 = $(MAN_5) $(MAN_8)
  229. DOCS = $(DOCS1) $(DOCS2)
  230.  
  231. BINS = su login pwconv pwunconv passwd sulogin faillog newgrp sg gpasswd \
  232.     mkpasswd chfn chsh chage chpasswd newusers dpasswd id useradd \
  233.     userdel usermod groupadd groupdel groupmod $(SCOLOGIN) logoutd \
  234.     groups pwck grpck lastlog
  235.  
  236. all:    $(BINS) $(DOCS)
  237.  
  238. .PRECIOUS: libshadow.a
  239.  
  240. libshadow.a: \
  241.     libshadow.a(dialchk.o) \
  242.     libshadow.a(dialup.o) \
  243.     libshadow.a(encrypt.o) \
  244.     libshadow.a(getdef.o) \
  245.     libshadow.a(getpass.o) \
  246.     libshadow.a(grdbm.o) \
  247.     libshadow.a(grent.o) \
  248.     libshadow.a(groupio.o) \
  249.     libshadow.a(grpack.o) \
  250.     libshadow.a(gshadow.o) \
  251.     libshadow.a(gsdbm.o) \
  252.     libshadow.a(gspack.o) \
  253.     libshadow.a(sgroupio.o) \
  254.     libshadow.a(port.o) \
  255.     libshadow.a(pwdbm.o) \
  256.     libshadow.a(pwent.o) \
  257.     libshadow.a(pwio.o) \
  258.     libshadow.a(pwpack.o) \
  259.     libshadow.a(pwauth.o) \
  260.     libshadow.a(rad64.o) \
  261.     libshadow.a(spdbm.o) \
  262.     libshadow.a(shadow.o) \
  263.     libshadow.a(shadowio.o) \
  264.     libshadow.a(sppack.o) \
  265.     libshadow.a(lockpw.o)
  266.     $(RANLIB) libshadow.a
  267.  
  268. libsec: $(LIBSEC)(shadow.o)
  269.     $(RANLIB) $(LIBSEC)
  270.  
  271. save:
  272.     [ ! -d save ] && mkdir save
  273.     -cp $(LOGINDIR)/login save
  274.     -cp /etc/mkpasswd /etc/pwconv /etc/pwunconv /etc/sulogin /etc/chpasswd \
  275.         /etc/newusers /etc/useradd /etc/userdel /etc/usermod \
  276.         /etc/groupadd /etc/groupdel /etc/groupmod /etc/logoutd \
  277.         /etc/login.defs /etc/pwck /etc/grpck save
  278.     -cp /bin/su /bin/passwd /bin/gpasswd /bin/dpasswd /bin/faillog \
  279.         /bin/newgrp /bin/chfn /bin/chsh /bin/chage /bin/id \
  280.         /bin/scologin save
  281.     -cp $(DEST_INCLUDE_DIR)/dialup.h $(DEST_INCLUDE_DIR)/shadow.h \
  282.         $(DEST_INCLUDE_DIR)/pwd.h save
  283.  
  284. restore:
  285.     [ -d save ]
  286.     -(cd save ; cp login $(LOGINDIR) )
  287.     -(cd save ; -cp mkpasswd pwconv pwunconv sulogin chpasswd \
  288.         newusers useradd userdel usermod groupadd groupdel groupmod \
  289.         logoutd login.defs pwck grpck /etc)
  290.     -(cd save ; cp su passwd gpasswd dpasswd faillog newgrp chfn chsh \
  291.         chage id scologin /bin)
  292.     -(cd save ; cp dialup.h shadow.h pwd.h $(DEST_INCLUDE_DIR) )
  293.  
  294. install: all
  295.     strip $(BINS)
  296.     cp login $(LOGINDIR)/login
  297.     cp mkpasswd pwconv pwunconv sulogin chpasswd newusers \
  298.         useradd userdel usermod groupadd groupdel groupmod logoutd \
  299.         pwck grpck /etc
  300.     cp su passwd gpasswd dpasswd faillog newgrp chfn chsh chage id /bin
  301.     rm -f /bin/sg
  302.     ln /bin/newgrp /bin/sg
  303.     cp dialup.h shadow.h pwd.h $(DEST_INCLUDE_DIR)
  304.     chown $(RUID) $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  305.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd \
  306.         /bin/dpasswd /bin/chsh /bin/chfn /bin/chage /etc/useradd \
  307.         /etc/userdel /etc/usermod /etc/groupadd /etc/groupdel \
  308.         /etc/groupmod /etc/logoutd /etc/pwck /etc/grpck
  309.     chgrp $(RGID) $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  310.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd \
  311.         /bin/dpasswd /bin/chsh /bin/chfn /bin/chage /etc/useradd \
  312.         /etc/userdel /etc/usermod /etc/groupadd /etc/groupdel \
  313.         /etc/groupmod /etc/logoutd /etc/pwck /etc/grpck
  314.     chown $(BUID) /bin/faillog /bin/id $(DEST_INCLUDE_DIR)/shadow.h \
  315.         $(DEST_INCLUDE_DIR)/dialup.h $(DEST_INCLUDE_DIR)/pwd.h
  316.     chgrp $(BGID) /bin/faillog /bin/id $(DEST_INCLUDE_DIR)/shadow.h \
  317.         $(DEST_INCLUDE_DIR)/dialup.h $(DEST_INCLUDE_DIR)/pwd.h
  318.     chmod 700 /etc/pwconv /etc/pwunconv /etc/sulogin /etc/mkpasswd \
  319.         /etc/chpasswd /etc/newusers /bin/dpasswd /etc/logoutd \
  320.         /etc/useradd /etc/userdel /etc/usermod /etc/groupadd \
  321.         /etc/groupdel /etc/groupmod /etc/pwck /etc/grpck
  322.     chmod 4711 $(LOGINDIR)/login /bin/su /bin/passwd /bin/gpasswd \
  323.         /bin/newgrp /bin/chfn /bin/chsh /bin/chage
  324.     chmod 711 /bin/faillog /bin/id
  325.     chmod 444 $(DEST_INCLUDE_DIR)/shadow.h $(DEST_INCLUDE_DIR)/dialup.h \
  326.         $(DEST_INCLUDE_DIR)/pwd.h
  327.     [ -f $(DEST_LOGIN_DEFS) ] || (cp login.defs $(DEST_LOGIN_DEFS) ; \
  328.         chown $(RUID) $(DEST_LOGIN_DEFS) ; \
  329.         chgrp $(RGID) $(DEST_LOGIN_DEFS) ; \
  330.         chmod 600 $(DEST_LOGIN_DEFS) )
  331.     [ -z "$(SCOLOGIN)" ] || (cp scologin /bin/login ; \
  332.         chown $(RUID) /bin/login ; \
  333.         chgrp $(RGID) /bin/login ; \
  334.         chmod 755 /bin/login )
  335.  
  336. lint:    su.lint login.lint pwconv.lint pwunconv.lint passwd.lint sulogin.lint \
  337.     faillog.lint newgrp.lint gpasswd.lint mkpasswd.lint chfn.lint \
  338.     chsh.lint chage.lint dpasswd.lint id.lint useradd.lint userdel.lint \
  339.     usermod.lint groupadd.lint groupdel.lint groupmod.lint logoutd.lint \
  340.     pwck.lint grpck.lint \
  341.     $(ALLSRCS:.c=.L)
  342.  
  343. tags:    $(ALLSRCS)
  344.     $(TAGS) $(ALLSRCS)
  345.  
  346. README:
  347.     [ -f s.README ] && $(GET) $(GFLAGS) s.README
  348.     
  349. $(DOCS):
  350.     [ -f s.$@ ] && $(GET) $(GFLAGS) s.$@
  351.  
  352. login.defs:
  353.     [ -f s.login.defs ] && $(GET) $(GFLAGS) s.login.defs
  354.  
  355. Makefile.sun4:
  356.     [ -f s.Makefile.sun4 ] && $(GET) $(GFLAGS) s.Makefile.sun4
  357.  
  358. Makefile.svr4:
  359.     [ -f s.Makefile.svr4 ] && $(GET) $(GFLAGS) s.Makefile.svr4
  360.  
  361. README.sun4:
  362.     [ -f s.README.sun4 ] && $(GET) $(GFLAGS) s.README.sun4
  363.  
  364. config.h.sun4:
  365.     [ -f s.config.h.sun4 ] && $(GET) $(GFLAGS) s.config.h.sun4
  366.  
  367. config.h.svr4:
  368.     [ -f s.config.h.svr4 ] && $(GET) $(GFLAGS) s.config.h.svr4
  369.  
  370. login:    $(LOBJS) libshadow.a
  371.     $(CC) -o login $(LDFLAGS) $(LOBJS) libshadow.a $(LIBS)
  372.  
  373. login.lint: $(LSRCS)
  374.     $(LINT) $(LINTFLAGS) $(LSRCS) > login.lint
  375.  
  376. su:    $(SOBJS) libshadow.a
  377.     $(CC) -o su $(LDFLAGS) $(SOBJS) libshadow.a $(LIBS)
  378.  
  379. su.lint:    $(SSRCS)
  380.     $(LINT) $(LINTFLAGS) -DSU $(SSRCS) > su.lint
  381.  
  382. passwd:    $(POBJS) libshadow.a
  383.     $(CC) -o passwd $(LDFLAGS) $(POBJS) libshadow.a $(LIBS) $(CRACKLIB)
  384.  
  385. passwd.lint: $(PSRCS)
  386.     $(LINT) $(LINTFLAGS) -DPASSWD $(PSRCS) > passwd.lint
  387.  
  388. gpasswd: $(GPOBJS) libshadow.a
  389.     $(CC) -o gpasswd $(LDFLAGS) $(GPOBJS) libshadow.a $(LIBS)
  390.  
  391. gpasswd.lint: $(GPSRCS)
  392.     $(LINT) $(LINTFLAGS) $(GPSRCS) > gpasswd.lint
  393.  
  394. dpasswd: $(DPOBJS) libshadow.a
  395.     $(CC) -o dpasswd $(LDFLAGS) $(DPOBJS) libshadow.a $(LIBS)
  396.  
  397. dpasswd.lint: $(DPSRCS)
  398.     $(LINT) $(LINTFLAGS) $(DPSRCS) > dpasswd.lint
  399.  
  400. pwconv:    $(PWOBJS) libshadow.a config.h
  401.     $(CC) -o pwconv $(LDFLAGS) $(PWOBJS) libshadow.a $(LIBS)
  402.  
  403. pwconv.lint: $(PWSRCS) config.h
  404.     $(LINT) $(LINTFLAGS) -DPASSWD $(PWSRCS) > pwconv.lint
  405.  
  406. pwunconv: $(PWUNOBJS) libshadow.a config.h
  407.     $(CC) -o pwunconv $(LDFLAGS) $(PWUNOBJS) libshadow.a $(LIBS)
  408.  
  409. pwunconv.lint: $(PWUNSRCS)
  410.     $(LINT) $(LINTFLAGS) -DPASSWD $(PWUNSRCS) > pwunconv.lint
  411.  
  412. sulogin: $(SULOGOBJS) libshadow.a
  413.     $(CC) -o sulogin $(LDFLAGS) $(SULOGOBJS) libshadow.a $(LIBS)
  414.  
  415. sulogin.lint: $(SULOGSRCS)
  416.     $(LINT) $(LINTFLAGS) $(SULOGSRCS) > sulogin.lint
  417.  
  418. faillog: faillog.o
  419.     $(CC) -o faillog $(LDFLAGS) faillog.o $(LIBS)
  420.  
  421. faillog.lint: faillog.c faillog.h config.h
  422.     $(LINT) $(LINTFLAGS) faillog.c > faillog.lint
  423.  
  424. lastlog: lastlog.o
  425.     $(CC) -o lastlog $(LDFLAGS) lastlog.o $(LIBS)
  426.  
  427. lastlog.lint: lastlog.c config.h lastlog.h
  428.     $(LINT) $(LINTFLAGS) $(MKPWDSRCS) > lastlog.lint
  429.  
  430. mkpasswd: $(MKPWDOBJS) libshadow.a
  431.     $(CC) -o mkpasswd $(LDFLAGS) $(MKPWDOBJS) libshadow.a $(LIBS)
  432.  
  433. mkpasswd.lint: $(MKPWDSRCS)
  434.     $(LINT) $(LINTFLAGS) $(MKPWDSRCS) > mkpasswd.lint
  435.  
  436. newgrp: $(NGOBJS) libshadow.a
  437.     $(CC) -o newgrp $(LDFLAGS) $(NGOBJS) libshadow.a $(LIBS)
  438.  
  439. newgrp.lint: $(NGSRCS)
  440.     $(LINT) $(LINTFLAGS) $(NGSRCS) > newgrp.lint
  441.  
  442. sg:    newgrp
  443.     rm -f sg
  444.     ln newgrp sg
  445.  
  446. sg.lint: newgrp.lint
  447.     ln newgrp.lint sg.lint
  448.  
  449. chfn:    $(CHFNOBJS) libshadow.a
  450.     $(CC) -o chfn $(LDFLAGS) $(CHFNOBJS) libshadow.a $(LIBS)
  451.  
  452. chfn.lint:    $(CHFNSRCS)
  453.     $(LINT) $(LINTFLAGS) $(CHFNSRCS) > chfn.lint
  454.  
  455. chsh:    $(CHSHOBJS) libshadow.a
  456.     $(CC) -o chsh $(LDFLAGS) $(CHSHOBJS) libshadow.a $(LIBS)
  457.  
  458. chsh.lint: $(CHSHSRCS)
  459.     $(LINT) $(LINTFLAGS) $(CHSHSRCS) > chsh.lint
  460.  
  461. chage:    $(CHAGEOBJS) libshadow.a
  462.     $(CC) -o chage $(LDFLAGS) $(CHAGEOBJS) libshadow.a $(LIBS)
  463.  
  464. chage.lint: $(CHAGESRCS)
  465.     $(LINT) $(LINTFLAGS) -DPASSWD $(CHAGESRCS) > chage.lint
  466.  
  467. chpasswd: $(CHPASSOBJS) libshadow.a
  468.     $(CC) -o chpasswd $(LDFLAGS) $(CHPASSOBJS) libshadow.a $(LIBS)
  469.  
  470. chpasswd.lint: $(CHPASSSRCS)
  471.     $(LINT) $(LINTFLAGS) $(CHPASSSRCS) > chpasswd.lint
  472.  
  473. newusers: newusers.o libshadow.a
  474.     $(CC) -o newusers $(LDFLAGS) newusers.o libshadow.a $(LIBS)
  475.  
  476. newusers.lint: newusers.c
  477.     $(LINT) $(LINTFLAGS) newusers.c > newusers.lint
  478.     
  479. id: id.o libshadow.a
  480.     $(CC) -o id $(LDFLAGS) id.o libshadow.a $(LIBS)
  481.  
  482. id.lint: id.c
  483.     $(LINT) $(LINTFLAGS) id.c > id.lint
  484.  
  485. groups: groups.o libshadow.a
  486.     $(CC) -o groups $(LDFLAGS) groups.o libshadow.a $(LIBS)
  487.  
  488. groups.lint: groups.c
  489.     $(LINT) $(LINTFLAGS) groups.c > groups.lint
  490.  
  491. useradd: useradd.o copydir.o mkrmdir.o libshadow.a
  492.     $(CC) -o useradd $(LDFLAGS) useradd.o copydir.o mkrmdir.o \
  493.         libshadow.a $(LIBS) $(NDIR)
  494.  
  495. useradd.lint: useradd.c copydir.c mkrmdir.c
  496.     $(LINT) $(LINTFLAGS) useradd.c copydir.c mkrmdir.c > useradd.lint
  497.  
  498. userdel: userdel.o copydir.o mkrmdir.o libshadow.a
  499.     $(CC) -o userdel $(LDFLAGS) userdel.o copydir.o mkrmdir.o \
  500.         libshadow.a $(LIBS) $(NDIR)
  501.  
  502. userdel.lint: userdel.c copydir.c mkrmdir.c
  503.     $(LINT) $(LINTFLAGS) userdel.c copydir.c mkrmdir.c > userdel.lint
  504.  
  505. usermod: usermod.o copydir.o mkrmdir.o chowndir.o libshadow.a
  506.     $(CC) -o usermod $(LDFLAGS) usermod.o copydir.o mkrmdir.o \
  507.         chowndir.o libshadow.a $(LIBS) $(NDIR)
  508.  
  509. usermod.lint: usermod.c copydir.c mkrmdir.c chowndir.c
  510.     $(LINT) $(LINTFLAGS) usermod.c copydir.c mkrmdir.c \
  511.         chowndir.c > usermod.lint
  512.  
  513. groupadd: groupadd.o libshadow.a
  514.     $(CC) -o groupadd $(LDFLAGS) groupadd.o libshadow.a $(LIBS)
  515.  
  516. groupadd.lint: groupadd.c
  517.     $(LINT) $(LINTFLAGS) groupadd.c > groupadd.lint
  518.  
  519. groupdel: groupdel.o libshadow.a
  520.     $(CC) -o groupdel $(LDFLAGS) groupdel.o libshadow.a $(LIBS)
  521.  
  522. groupdel.lint: groupdel.c
  523.     $(LINT) $(LINTFLAGS) groupdel.c > groupdel.lint
  524.  
  525. groupmod: groupmod.o libshadow.a
  526.     $(CC) -o groupmod $(LDFLAGS) groupmod.o libshadow.a $(LIBS)
  527.  
  528. groupmod.lint: groupmod.c
  529.     $(LINT) $(LINTFLAGS) groupmod.c > groupmod.lint
  530.  
  531. pwd.h.m4:
  532.     [ -f s.pwd.h.m4 ] && $(GET) $(GFLAGS) s.pwd.h.m4
  533.  
  534. pwd.h: pwd.h.m4
  535.     m4 $(OS) < pwd.h.m4 > pwd.h
  536.  
  537. logoutd: logoutd.o libshadow.a
  538.     $(CC) -o logoutd $(LDFLAGS) logoutd.o libshadow.a
  539.  
  540. logoutd.lint: logoutd.c
  541.     $(LINT) $(LINTFLAGS) logoutd.c > logoutd.lint
  542.  
  543. pwck: pwck.o libshadow.a
  544.     $(CC) -o pwck $(LDFLAGS) pwck.o libshadow.a $(LIBS)
  545.  
  546. pwck.lint: pwck.c
  547.     $(LINT) $(LINTFLAGS) pwck.c > pwck.lint
  548.  
  549. grpck: grpck.o libshadow.a
  550.     $(CC) -o grpck $(LDFLAGS) grpck.o libshadow.a $(LIBS)
  551.  
  552. grpck.lint: grpck.c
  553.     $(LINT) $(LINTFLAGS) grpck.c > grpck.lint
  554.  
  555. sulog.o: config.h
  556.  
  557. susetup.c: setup.c
  558.     cp setup.c susetup.c
  559.  
  560. susetup.o: config.h susetup.c pwd.h
  561.     $(CC) -c $(CFLAGS) -DSU susetup.c
  562.  
  563. scologin: scologin.o
  564.     $(CC) -o scologin $(LDFLAGS) scologin.o -lsocket
  565.  
  566. passwd.o: config.h shadow.h pwd.h pwauth.h
  567. lmain.o: config.h lastlog.h faillog.h pwd.h pwauth.h
  568. smain.o: config.h lastlog.h pwd.h shadow.h pwauth.h
  569. sub.o: pwd.h
  570. setup.o: config.h pwd.h
  571. mkrmdir.o: config.h
  572. utmp.o: config.h
  573. mail.o: config.h
  574. motd.o: config.h
  575. age.o: config.h pwd.h
  576. log.o: config.h lastlog.h pwd.h
  577. shell.o: config.h
  578. entry.o: config.h shadow.h pwd.h
  579. hushed.o: config.h pwd.h
  580. valid.o: config.h pwd.h
  581. failure.o: faillog.h config.h
  582. faillog.o: faillog.h config.h pwd.h
  583. newgrp.o: config.h shadow.h pwd.h
  584. mkpasswd.o: config.h shadow.h pwd.h
  585. gpmain.o: config.h pwd.h
  586. chfn.o: config.h pwd.h
  587. chsh.o: config.h pwd.h
  588. chage.o: config.h shadow.h pwd.h
  589. pwconv.o: config.h shadow.h
  590. pwunconv.o: config.h shadow.h pwd.h
  591. chpasswd.o: config.h shadow.h pwd.h
  592. id.o: pwd.h
  593. newusers.o: config.h shadow.h pwd.h
  594. dpmain.o: config.h dialup.h
  595. useradd.o: config.h shadow.h pwd.h pwauth.h
  596. userdel.o: config.h shadow.h pwd.h pwauth.h
  597. usermod.o: config.h shadow.h pwd.h pwauth.h
  598. groupadd.o: config.h shadow.h
  599. groupdel.o: config.h shadow.h
  600. groupmod.o: config.h shadow.h
  601. logoutd.o: config.h
  602. sulogin.o: config.h pwauth.h
  603. copydir.o: config.h
  604. chowndir.o: config.h
  605. pwck.o: config.h shadow.h pwd.h
  606. grpck.o: config.h shadow.h pwd.h
  607.  
  608. libshadow.a(shadow.o): shadow.h config.h
  609. libshadow.a(shadowio.o): shadow.h
  610. libshadow.a(grent.o): config.h shadow.h
  611. libshadow.a(sgroupio.o): shadow.h
  612. libshadow.a(dialup.o): dialup.h
  613. libshadow.a(dialchk.o): dialup.h config.h
  614. libshadow.a(getdef.o): config.h
  615. libshadow.a(pwdbm.o): config.h pwd.h
  616. libshadow.a(spdbm.o): config.h shadow.h
  617. libshadow.a(grdbm.o): config.h
  618. libshadow.a(gshadow.o): config.h
  619. libshadow.a(gsdbm.o): config.h shadow.h
  620. libshadow.a(pwauth.o): config.h pwauth.h
  621. libshadow.a(pwpack.o): config.h pwd.h
  622. libshadow.a(pwent.o): config.h pwd.h
  623. libshadow.a(pwio.o): pwd.h
  624. libshadow.a(getpass.o): config.h
  625. libshadow.a(encrypt.o): config.h
  626. libshadow.a(port.o): port.h
  627. libshadow.a(rad64.o): config.h
  628. libshadow.a(lockpw.o):
  629.  
  630. clean:
  631.     -rm -f susetup.c *.o a.out core npasswd nshadow *.pag *.dir pwd.h
  632.  
  633. clobber: clean
  634.     -rm -f $(BINS) *.lint *.L libshadow.a
  635.  
  636. nuke:    clobber
  637.     -for file in * ; do \
  638.         if [ -f s.$$file -a ! -f p.$$file ] ; then \
  639.             rm -f $$file ;\
  640.         fi ;\
  641.     done
  642.  
  643. shar:    login.sh.01 login.sh.02 login.sh.03 login.sh.04 login.sh.05 \
  644.     login.sh.06 login.sh.07 login.sh.08 login.sh.09 login.sh.10 \
  645.     login.sh.11 login.sh.12
  646.  
  647. login.sh.01: $(FILES1) Makefile
  648.     shar -Dc $(FILES1) > login.sh.01
  649.  
  650. login.sh.02: $(FILES2) Makefile
  651.     shar -Dc $(FILES2) > login.sh.02
  652.  
  653. login.sh.03: $(FILES3) Makefile
  654.     shar -Dc $(FILES3) > login.sh.03
  655.  
  656. login.sh.04: $(FILES4) Makefile
  657.     shar -Dc $(FILES4) > login.sh.04
  658.  
  659. login.sh.05: $(FILES5) Makefile
  660.     shar -Dc $(FILES5) > login.sh.05
  661.  
  662. login.sh.06: $(FILES6) Makefile
  663.     shar -Dc $(FILES6) > login.sh.06
  664.  
  665. login.sh.07: $(FILES7) Makefile
  666.     shar -Dc $(FILES7) > login.sh.07
  667.  
  668. login.sh.08: $(FILES8) Makefile
  669.     shar -Dc $(FILES8) > login.sh.08
  670.  
  671. login.sh.09: $(FILES9) Makefile
  672.     shar -Dc $(FILES9) > login.sh.09
  673.  
  674. login.sh.10: $(DOCS1) Makefile
  675.     shar -Dc $(DOCS1) > login.sh.10
  676.  
  677. login.sh.11: $(DOCS2) Makefile
  678.     shar -Dc $(DOCS2) > login.sh.11
  679.  
  680. login.sh.12: $(FILES_SUN4) $(FILES_SVR4) Makefile
  681.     shar -Dc $(FILES_SUN4) $(FILES_SVR4) > login.sh.12
  682.