home *** CD-ROM | disk | FTP | other *** search
Makefile | 1991-05-17 | 11.0 KB | 438 lines |
- #
- # Copyright 1988,1989,1990, John F. Haugh II
- # All rights reserved.
- #
- # Permission is granted to copy and create derivative works for any
- # non-commercial purpose, provided this copyright notice is preserved
- # in all copies of source code, or included in human readable form
- # and conspicuously displayed on all copies of object code or
- # distribution media.
- #
- # %W% %U% - Shadow password system
- #
- # %W% %U% %G%
- #
- SHELL = /bin/sh
-
- #
- # Set this flag to decide what level of code "get" returns.
- # The base USENET release was release 1. It is no longer supported.
- # The version with the utilities added was release 2.
- # The unreleased version with database-like file access is release 3.
- RELEASE = 3
- GFLAGS = -t -r$(RELEASE)
-
- # Define the directory login is copied to. BE VERY CAREFUL!!!
- # LOGINDIR = /bin
- LOGINDIR = /etc
-
- # Pick your favorite C compiler and tags command
- CC = cc
- TAGS = ctags
-
- # OS. Currently only BSD and USG are defined. If you don't use BSD,
- # USG (System V) is assumed.
- OS = -DUSG
- # OS = -DBSD
-
- # Do you have to do ranlib? Sorry to hear that ...
- RANLIB = ranlib
- # RANLIB = echo
-
- # Flags for SCO Xenix/386
- CFLAGS = -O -M3 -g $(OS)
- LIBS = -lcrypt -lndbm
- # LIBS = -lcrypt -ldbm
- LDFLAGS = -M3 -g
- LTFLAGS =
- # This should be Slibsec.a for small model, or Llibsec.a for
- # large model or whatever. MUST AGREE WITH CFLAGS!!!
- LIBSEC = Slibsec.a
-
- # Flags for normal machines
- # CFLAGS = -O -g $(OS)
- # LIBS =
- # LDFLAGS = -g
- # LIBSEC = libsec.a
-
- # Names for root user and group, and bin user and group
- RUID = root
- RGID = root
- BUID = bin
- BGID = bin
-
- # Rules for .L (lint) files.
- .SUFFIXES: .L
- LINT = lint
- LINTFLAGS = $(OS) -Dlint
-
- .c.L:
- $(LINT) -u $(LINTFLAGS) $*.c > $*.L
-
- LOBJS = lmain.o login.o env.o valid.o setup.o shell.o age.o \
- utmp.o sub.o mail.o motd.o log.o ttytype.o failure.o
-
- LSRCS = lmain.c login.c env.c valid.c setup.c shell.c age.c \
- utmp.c sub.c mail.c motd.c log.c ttytype.c failure.c
-
- SOBJS = smain.o env.o entry.o susetup.o shell.o \
- sub.o mail.o motd.o sulog.o age.o
-
- SSRCS = smain.c env.c entry.c setup.c shell.c \
- pwent.c sub.c mail.c motd.c sulog.c shadow.c age.c pwpack.c rad64.c
-
- POBJS = passwd.o obscure.o
- PSRCS = passwd.c obscure.c
-
- GPSRCS = gpmain.c
-
- GPOBJS = gpmain.o
-
- PWOBJS = pwconv.o
-
- PWSRCS = pwconv.c pwent.c shadow.c pwpack.c rad64.c
-
- PWUNOBJS = pwunconv.o
-
- PWUNSRCS = pwunconv.c pwent.c shadow.c pwpack.c rad64.c
-
- SULOGOBJS = sulogin.o entry.o env.o age.o setup.o \
- valid.o shell.o
-
- SULOGSRCS = sulogin.c entry.c env.c age.c pwent.c setup.c \
- shadow.c shell.c valid.c pwpack.c
-
- MKPWDOBJS = mkpasswd.o
-
- MKPWDSRCS = mkpasswd.c
-
- NGSRCS = newgrp.c env.c shell.c
-
- NGOBJS = newgrp.o env.o shell.o
-
- CHFNSRCS = chfn.c fields.c
- CHFNOBJS = chfn.o fields.o
- CHSHSRCS = chsh.c fields.c
- CHSHOBJS = chsh.o fields.o
- CHAGEOBJS = chage.o fields.o
- CHAGESRCS = chage.c fields.c
- CHPASSOBJS = chpasswd.o
- CHPASSSRCS = chpasswd.c
- DPSRCS = dpmain.c
- DPOBJS = dpmain.o
-
- ALLSRCS = age.c dialchk.c dialup.c entry.c env.c lmain.c log.c login.c mail.c \
- motd.c obscure.c passwd.c pwconv.c pwent.c pwunconv.c getpass.c \
- setup.c shadow.c shell.c smain.c sub.c sulog.c sulogin.c ttytype.c \
- utmp.c valid.c port.c newgrp.c gpmain.c grent.c mkpasswd.c pwpack.c \
- chfn.c chsh.c chage.c rad64.c encrypt.c chpasswd.c shadowio.c pwio.c \
- newusers.c groupio.c fields.c pwdbm.c grpack.c grdbm.c sppack.c \
- spdbm.c dpmain.c gshadow.c gsdbm.c gspack.c sgroupio.c
-
- FILES1 = README newgrp.c Makefile config.h pwunconv.c obscure.c age.c
-
- FILES2 = passwd.c port.c lmain.c mkpasswd.c sulogin.c pwpack.c dialup.c \
- sulog.c getpass.c
-
- FILES3 = chfn.c chsh.c smain.c faillog.c pwconv.c failure.c utmp.c shadow.c
-
- FILES4 = gpmain.c chage.c pwent.c valid.c setup.c entry.c ttytype.c port.h
-
- FILES5 = pwio.c encrypt.c chpasswd.c newusers.c rad64.c dialchk.c faillog.h \
- pwdbm.c grdbm.c gshadow.c sppack.c
-
- FILES6 = gspack.c spdbm.c lastlog.h shell.c login.c sub.c dpmain.c mail.c \
- env.c pwd.h grpack.c shadow.h log.c grent.c motd.c dialup.h fields.c \
- gsdbm.c
-
- FILES7 = groupio.c shadowio.c sgroupio.c
-
- MAN_1 = chage.1 chfn.1 chsh.1 login.1 passwd.1 su.1
- MAN_3 = shadow.3
- MAN_4 = faillog.4 passwd.4 porttime.4 shadow.4
- MAN_8 = faillog.8 pwconv.8 pwunconv.8 sulogin.8
-
- DOCS = $(MAN_1) $(MAN_3) $(MAN_4) $(MAN_8)
-
- BINS = su login pwconv pwunconv passwd sulogin faillog newgrp gpasswd \
- mkpasswd chfn chsh chage chpasswd newusers dpasswd id
-
- all: $(BINS) $(DOCS)
-
- .PRECIOUS: libshadow.a
- libshadow.a: \
- libshadow.a(dialchk.o) \
- libshadow.a(dialup.o) \
- libshadow.a(encrypt.o) \
- libshadow.a(getpass.o) \
- libshadow.a(grdbm.o) \
- libshadow.a(grent.o) \
- libshadow.a(groupio.o) \
- libshadow.a(grpack.o) \
- libshadow.a(gshadow.o) \
- libshadow.a(gsdbm.o) \
- libshadow.a(gspack.o) \
- libshadow.a(sgroupio.o) \
- libshadow.a(port.o) \
- libshadow.a(pwdbm.o) \
- libshadow.a(pwent.o) \
- libshadow.a(pwio.o) \
- libshadow.a(pwpack.o) \
- libshadow.a(rad64.o) \
- libshadow.a(spdbm.o) \
- libshadow.a(shadow.o) \
- libshadow.a(shadowio.o) \
- libshadow.a(sppack.o)
- $(RANLIB) libshadow.a
-
- libsec: $(LIBSEC)(shadow.o)
- $(RANLIB) $(LIBSEC)
-
- install: all
- strip $(BINS)
- cp login $(LOGINDIR)/login
- cp mkpasswd pwconv pwunconv sulogin chpasswd newusers /etc
- cp su passwd gpasswd dpasswd faillog newgrp chfn chsh id /bin
- cp dialup.h shadow.h pwd.h /usr/include
- chown $(RUID) $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
- /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd \
- /bin/dpasswd /bin/chsh /bin/chfn /bin/chage
- chgrp $(RGID) $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
- /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd \
- /bin/dpasswd /bin/chsh /bin/chfn /bin/chage
- chown $(BUID) /bin/faillog /bin/id /usr/include/shadow.h \
- /usr/include/dialup.h /usr/include/pwd.h
- chgrp $(BGID) /bin/faillog /bin/id /usr/include/shadow.h \
- /usr/include/dialup.h /usr/include/pwd.h
- chmod 700 /etc/pwconv /etc/pwunconv /etc/sulogin /etc/mkpasswd \
- /etc/chpasswd /etc/newusers /bin/dpasswd /bin/chage
- chmod 4711 $(LOGINDIR)/login /bin/su /bin/passwd /bin/gpasswd \
- /bin/newgrp /bin/chfn /bin/chsh
- chmod 711 /bin/faillog /bin/id
- chmod 444 /usr/include/shadow.h /usr/include/dialup.h \
- /usr/include/pwd.h
-
- lint: su.lint login.lint pwconv.lint pwunconv.lint passwd.lint sulogin.lint \
- faillog.lint newgrp.lint gpasswd.lint mkpasswd.lint chfn.lint \
- chsh.lint chage.lint dpasswd.lint $(ALLSRCS:.c=.L)
-
- tags: $(ALLSRCS)
- $(TAGS) $(ALLSRCS)
-
- README: s.README
- get -t -r$(RELEASE) s.README
-
- $(DOCS):
- get -t -r$(RELEASE) s.$@
-
- login: $(LOBJS) libshadow.a
- $(CC) -o login $(LDFLAGS) $(LOBJS) libshadow.a $(LIBS)
-
- login.lint: $(LSRCS)
- $(LINT) $(LINTFLAGS) $(LSRCS) > login.lint
-
- su: $(SOBJS) libshadow.a
- $(CC) -o su $(LDFLAGS) $(SOBJS) libshadow.a $(LIBS)
-
- su.lint: $(SSRCS)
- $(LINT) $(LINTFLAGS) -DSU $(SSRCS) > su.lint
-
- passwd: $(POBJS) libshadow.a
- $(CC) -o passwd $(LDFLAGS) $(POBJS) libshadow.a $(LIBS)
-
- passwd.lint: $(PSRCS)
- $(LINT) $(LINTFLAGS) -DPASSWD $(PSRCS) > passwd.lint
-
- gpasswd: $(GPOBJS) libshadow.a
- $(CC) -o gpasswd $(LDFLAGS) $(GPOBJS) libshadow.a $(LIBS)
-
- gpasswd.lint: $(GPSRCS)
- $(LINT) $(LINTFLAGS) $(GPSRCS) > gpasswd.lint
-
- dpasswd: $(DPOBJS) libshadow.a
- $(CC) -o dpasswd $(LDFLAGS) $(DPOBJS) libshadow.a $(LIBS)
-
- dpasswd.lint: $(DPSRCS)
- $(LINT) $(LINTFLAGS) $(DPSRCS) > dpasswd.lint
-
- pwconv: $(PWOBJS) libshadow.a config.h
- $(CC) -o pwconv $(LDFLAGS) $(PWOBJS) libshadow.a $(LIBS)
-
- pwconv.lint: $(PWSRCS) config.h
- $(LINT) $(LINTFLAGS) -DPASSWD $(PWSRCS) > pwconv.lint
-
- pwunconv: $(PWUNOBJS) libshadow.a config.h
- $(CC) -o pwunconv $(LDFLAGS) $(PWUNOBJS) libshadow.a $(LIBS)
-
- pwunconv.lint: $(PWUNSRCS)
- $(LINT) $(LINTFLAGS) -DPASSWD $(PWUNSRCS) > pwunconv.lint
-
- sulogin: $(SULOGOBJS) libshadow.a
- $(CC) -o sulogin $(LDFLAGS) $(SULOGOBJS) libshadow.a $(LIBS)
-
- sulogin.lint: $(SULOGSRCS)
- $(LINT) $(LINTFLAGS) $(SULOGSRCS) > sulogin.lint
-
- faillog: faillog.o
- $(CC) -o faillog $(LDFLAGS) faillog.o $(LIBS)
-
- faillog.lint: faillog.c faillog.h config.h
- $(LINT) $(LINTFLAGS) faillog.c > faillog.lint
-
- mkpasswd: $(MKPWDOBJS) libshadow.a
- $(CC) -o mkpasswd $(LDFLAGS) $(MKPWDOBJS) libshadow.a $(LIBS)
-
- mkpasswd.lint: $(MKPWDSRCS)
- $(LINT) $(LINTFLAGS) $(MKPWDSRCS) > mkpasswd.lint
-
- newgrp: $(NGOBJS) libshadow.a
- $(CC) -o newgrp $(LDFLAGS) $(NGOBJS) libshadow.a $(LIBS)
-
- newgrp.lint: $(NGSRCS)
- $(LINT) $(LINTFLAGS) $(NGSRCS) > newgrp.lint
-
- chfn: $(CHFNOBJS) libshadow.a
- $(CC) -o chfn $(LDFLAGS) $(CHFNOBJS) libshadow.a $(LIBS)
-
- chfn.lint: $(CHFNSRCS)
- $(LINT) $(LINTFLAGS) $(CHFNSRCS) > chfn.lint
-
- chsh: $(CHSHOBJS) libshadow.a
- $(CC) -o chsh $(LDFLAGS) $(CHSHOBJS) libshadow.a $(LIBS)
-
- chsh.lint: $(CHSHSRCS)
- $(LINT) $(LINTFLAGS) $(CHSHSRCS) > chsh.lint
-
- chage: $(CHAGEOBJS) libshadow.a
- $(CC) -o chage $(LDFLAGS) $(CHAGEOBJS) libshadow.a $(LIBS)
-
- chage.lint: $(CHAGESRCS)
- $(LINT) $(LINTFLAGS) -DPASSWD $(CHAGESRCS) > chage.lint
-
- chpasswd: $(CHPASSOBJS) libshadow.a
- $(CC) -o chpasswd $(LDFLAGS) $(CHPASSOBJS) libshadow.a $(LIBS)
-
- chpasswd.lint: $(CHPASSSRCS)
- $(LINT) $(LINTFLAGS) $(CHPASSSRCS) > chpasswd.lint
-
- newusers: newusers.o libshadow.a
- $(CC) -o newusers $(LDFLAGS) newusers.o libshadow.a $(LIBS)
-
- newusers.lint: newusers.c
- $(LINT) $(LINTFLAGS) newusers.c > newusers.lint
-
- id: id.o libshadow.a
- $(CC) -o id $(LDFLAGS) id.o libshadow.a $(LIBS)
-
- id.lint: id.c
- $(LINT) $(LINTFLAGS) id.c > id.lint
-
- sulog.o: config.h
-
- susetup.c: setup.c
- cp setup.c susetup.c
-
- susetup.o: config.h setup.c pwd.h
- $(CC) -c $(CFLAGS) -DSU susetup.c
-
- passwd.o: config.h shadow.h pwd.h
- lmain.o: config.h lastlog.h faillog.h pwd.h
- smain.o: config.h lastlog.h pwd.h shadow.h
- sub.o: pwd.h
- setup.o: config.h pwd.h
-
- utmp.o: config.h
-
- mail.o: config.h
-
- motd.o: config.h
-
- age.o: config.h pwd.h
-
- log.o: config.h lastlog.h pwd.h
-
- shell.o: config.h
-
- entry.o: config.h shadow.h pwd.h
-
- shadow.o: shadow.h config.h
- shadowio.o: shadow.h
- grent.o: config.h shadow.h
- sgroupio.o: shadow.h
- dialup.o: dialup.h
- dialchk.o: dialup.h config.h
- pwdbm.o: config.h pwd.h
- pwpack.o: config.h pwd.h
- pwent.o: config.h pwd.h
- pwio.o: pwd.h
- getpass.o: config.h
- encrypt.o: config.h
- port.o: port.h
-
- valid.o: config.h pwd.h
-
- failure.o: faillog.h config.h
-
- faillog.o: faillog.h config.h pwd.h
-
- newgrp.o: config.h shadow.h pwd.h
-
- mkpasswd.o: config.h shadow.h pwd.h
-
- gpmain.o: config.h pwd.h
-
- chfn.o: config.h pwd.h
-
- chsh.o: config.h pwd.h
-
- chage.o: config.h shadow.h pwd.h
-
- pwconv.o: config.h shadow.h
-
- pwunconv.o: config.h shadow.h pwd.h
-
- chpasswd.o: config.h shadow.h pwd.h
- id.o: pwd.h
- newusers.o: config.h shadow.h pwd.h
- dpmain.o: dialup.h
-
- clean:
- -rm -f *.o a.out core npasswd nshadow *.pag *.dir
-
- clobber: clean
- -rm -f $(BINS) *.lint *.L susetup.c libshadow.a
-
- nuke: clobber
- -for file in * ; do \
- if [ -f s.$$file -a ! -f p.$$file ] ; then \
- rm -f $$file ;\
- fi ;\
- done
-
- shar: login.sh.1 login.sh.2 login.sh.3 login.sh.4 login.sh.5 login.sh.6 \
- login.sh.7 login.sh.8
-
- login.sh.1: $(FILES1) Makefile
- shar -a $(FILES1) > login.sh.1
-
- login.sh.2: $(FILES2) Makefile
- shar -a $(FILES2) > login.sh.2
-
- login.sh.3: $(FILES3) Makefile
- shar -a $(FILES3) > login.sh.3
-
- login.sh.4: $(FILES4) Makefile
- shar -a $(FILES4) > login.sh.4
-
- login.sh.5: $(FILES5) Makefile
- shar -a $(FILES5) > login.sh.5
-
- login.sh.6: $(FILES6) Makefile
- shar -a $(FILES6) > login.sh.6
-
- login.sh.7: $(FILES7) Makefile
- shar -a $(FILES7) > login.sh.7
-
- login.sh.8: $(DOCS) Makefile
- shar -a $(DOCS) > login.sh.8
-