home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 1 / 1658 / Makefile < prev    next >
Encoding:
Makefile  |  1990-12-28  |  7.6 KB  |  339 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.12    23:07:14  - Shadow password system
  9. #
  10. #    @(#)Makefile    2.12    23:07:14    8/9/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. CHSHSRCS = chsh.c pwent.c pwpack.c
  96.  
  97. CHSHOBJS = chsh.o pwent.o pwpack.o
  98.  
  99. CHAGEOBJS = chage.o pwent.o pwpack.o pwage.o shadow.o
  100.  
  101. CHAGESRCS = chage.c pwent.c pwpack.c age.c shadow.c
  102.  
  103. ALLSRCS = age.c dialchk.c dialup.c entry.c env.c lmain.c log.c login.c mail.c \
  104.     motd.c obscure.c password.c pmain.c pwconv.c pwent.c pwunconv.c \
  105.     setup.c shadow.c shell.c smain.c sub.c sulog.c sulogin.c ttytype.c \
  106.     utmp.c valid.c port.c newgrp.c gpmain.c grent.c mkpasswd.c pwpack.c \
  107.     chfn.c chsh.c chage.c
  108.  
  109. FILES1 = README log.c mail.c shadow.h sulog.c Makefile entry.c obscure.c \
  110.     setup.c sub.c config.h pmain.c sulogin.c dialup.h ttytype.c \
  111.     port.c newgrp.c chage.c
  112.  
  113. FILES2 = lastlog.h login.c motd.c password.c shell.c utmp.c age.c env.c \
  114.     pwent.c shadow.c valid.c lmain.c smain.c pwconv.c dialup.c dialchk.c \
  115.     pwunconv.c failure.c faillog.h faillog.c port.h gpmain.c grent.c \
  116.     mkpasswd.c pwpack.c chfn.c chsh.c
  117.  
  118. MAN_1 = chfn.1 chsh.1 login.1 passwd.1 su.1
  119. MAN_3 = shadow.3
  120. MAN_4 = faillog.4 passwd.4 shadow.4
  121. MAN_8 = faillog.8 pwconv.8 pwunconv.8 sulogin.8
  122.  
  123. DOCS = $(MAN_1) $(MAN_3) $(MAN_4) $(MAN_8)
  124.  
  125. BINS = su login pwconv pwunconv passwd sulogin faillog newgrp gpasswd \
  126.     mkpasswd chfn chsh chage
  127.  
  128. all:    $(BINS) $(DOCS)
  129.  
  130. libsec: shadow.o
  131.     ar rv $(LIBSEC) shadow.o
  132.     $(RANLIB) $(LIBSEC)
  133.  
  134. install: all
  135.     strip $(BINS)
  136.     cp login $(LOGINDIR)/login
  137.     cp mkpasswd pwconv pwunconv sulogin /etc
  138.     cp su passwd gpasswd faillog newgrp chfn chsh /bin
  139.     cp shadow.h /usr/include
  140.     chown root $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  141.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd
  142.     chgrp root $(LOGINDIR)/login /etc/pwconv /etc/pwunconv /etc/sulogin \
  143.         /bin/su /bin/passwd /bin/gpasswd /bin/newgrp /etc/mkpasswd
  144.     chown bin /bin/faillog /usr/include/shadow.h
  145.     chgrp bin /bin/faillog /usr/include/shadow.h
  146.     chmod 700 /etc/pwconv /etc/pwunconv /etc/sulogin /etc/mkpasswd
  147.     chmod 4711 $(LOGINDIR)/login /bin/su /bin/passwd /bin/gpasswd \
  148.         /bin/newgrp /bin/chfn
  149.     chmod 711 /bin/faillog
  150.     chmod 444 /usr/include/shadow.h
  151.  
  152. lint:    su.L login.L pwconv.L pwunconv.L passwd.L sulogin.L faillog.L \
  153.     newgrp.L gpasswd.L mkpasswd.L chfn.L chsh.L
  154.  
  155. tags:    $(ALLSRCS)
  156.     $(TAGS) $(ALLSRCS)
  157.  
  158. README:    s.README
  159.     get s.README
  160.     
  161. $(DOCS):
  162.     get s.$@
  163.  
  164. login:    $(LOBJS)
  165.     $(CC) -o login $(LDFLAGS) $(LOBJS) $(LIBS)
  166.  
  167. login.L: $(LSRCS)
  168.     lint $(LSRCS) > login.L
  169.  
  170. su:    $(SOBJS)
  171.     $(CC) -o su $(LDFLAGS) $(SOBJS) $(LIBS)
  172.  
  173. su.L:    $(SSRCS)
  174.     lint -DSU $(SSRCS) > su.L
  175.  
  176. passwd:    $(POBJS)
  177.     $(CC) -o passwd $(LDFLAGS) $(POBJS) $(LIBS)
  178.  
  179. passwd.L: $(PSRCS)
  180.     lint -DPASSWD $(PSRCS) > passwd.L
  181.  
  182. gpasswd: $(GPOBJS)
  183.     $(CC) -o gpasswd $(LDFLAGS) $(GPOBJS) $(LIBS)
  184.  
  185. gpasswd.L: $(GPSRCS)
  186.     lint $(GPSRCS) > gpasswd.L
  187.  
  188. pwconv:    $(PWOBJS)
  189.     $(CC) -o pwconv $(LDFLAGS) $(PWOBJS) $(LIBS)
  190.  
  191. pwconv.L: $(PWSRCS)
  192.     lint -DPASSWD $(PWSRCS) > pwconv.L
  193.  
  194. pwunconv: $(PWUNOBJS)
  195.     $(CC) -o pwunconv $(LDFLAGS) $(PWUNOBJS) $(LIBS)
  196.  
  197. pwunconv.L: $(PWUNSRCS)
  198.     lint -DPASSWD $(PWUNSRCS) > pwunconv.L
  199.  
  200. sulogin: $(SULOGOBJS)
  201.     $(CC) -o sulogin $(LDFLAGS) $(SULOGOBJS) $(LIBS)
  202.  
  203. sulogin.L: $(SULOGSRCS)
  204.     lint $(SULOGSRCS) > sulogin.L
  205.  
  206. faillog: faillog.o
  207.     $(CC) -o faillog $(LDFLAGS) faillog.o $(LIBS)
  208.  
  209. faillog.L: faillog.c faillog.h config.h
  210.     lint faillog.c > faillog.L
  211.  
  212. mkpasswd: $(DBOBJS)
  213.     $(CC) -o mkpasswd $(LDFLAGS) $(DBOBJS) $(LIBS)
  214.  
  215. mkpasswd.L: $(DBSRCS)
  216.     lint $(DBSRCS) > mkpasswd.L
  217.  
  218. newgrp: $(NGOBJS)
  219.     $(CC) -o newgrp $(LDFLAGS) $(NGOBJS) $(LIBS)
  220.  
  221. newgrp.L: $(NGSRCS)
  222.     lint $(NGSRCS) > newgrp.L
  223.  
  224. chfn:    $(CHFNOBJS)
  225.     $(CC) -o chfn $(LDFLAGS) $(CHFNOBJS) $(LIBS)
  226.  
  227. chfn.L:    $(CHFNSRCS)
  228.     lint $(CHFNSRCS) > chfn.L
  229.  
  230. chsh:    $(CHSHOBJS)
  231.     $(CC) -o chsh $(LDFLAGS) $(CHSHOBJS) $(LIBS)
  232.  
  233. chsh.L: $(CHSHSRCS)
  234.     lint $(CHSHSRCS) > chsh.L
  235.  
  236. chage:    $(CHAGEOBJS)
  237.     $(CC) -o chage $(LDFLAGS) $(CHAGEOBJS) $(LIBS)
  238.  
  239. chage.L: $(CHAGESRCS)
  240.     lint -DPASSWD $(CHAGESRCS) > chage.L
  241.  
  242. sushell.c: shell.c
  243.     cp shell.c sushell.c
  244.  
  245. sushell.o: config.h sushell.c
  246.     $(CC) -c $(CFLAGS) -DSU sushell.c
  247.  
  248. susub.c: sub.c
  249.     cp sub.c susub.c
  250.  
  251. susub.o: config.h susub.c
  252.     $(CC) -c $(CFLAGS) -DSU susub.c
  253.  
  254. sulog.o: config.h
  255.  
  256. susetup.c: setup.c
  257.     cp setup.c susetup.c
  258.  
  259. susetup.o: config.h setup.c
  260.     $(CC) -c $(CFLAGS) -DSU susetup.c
  261.  
  262. suvalid.c: valid.c
  263.     cp valid.c suvalid.c
  264.  
  265. suvalid.o: config.h valid.c
  266.     $(CC) -c $(CFLAGS) -DSU suvalid.c
  267.  
  268. pmain.o: config.h lastlog.h shadow.h
  269.  
  270. pwage.o: age.c config.h
  271.     cp age.c pwage.c
  272.     $(CC) -c $(CFLAGS) -DPASSWD pwage.c
  273.     rm pwage.c
  274.  
  275. lmain.o: config.h lastlog.h faillog.h
  276.  
  277. smain.o: config.h lastlog.h
  278.  
  279. setup.o: config.h
  280.  
  281. utmp.o: config.h
  282.  
  283. mail.o: config.h
  284.  
  285. motd.o: config.h
  286.  
  287. age.o: config.h
  288.  
  289. log.o: config.h lastlog.h
  290.  
  291. shell.o: config.h
  292.  
  293. entry.o: config.h shadow.h
  294.  
  295. shadow.o: shadow.h
  296.  
  297. dialup.o: dialup.h
  298.  
  299. dialchk.o: dialup.h config.h
  300.  
  301. valid.o: config.h
  302.  
  303. failure.o: faillog.h config.h
  304.  
  305. faillog.o: faillog.h config.h
  306.  
  307. pwent.o: config.h
  308.  
  309. port.o: port.h
  310.  
  311. newgrp.o: config.h shadow.h
  312.  
  313. mkpasswd.o: config.h
  314.  
  315. gpmain.o: config.h
  316.  
  317. chfn.o: config.h
  318.  
  319. chsh.o: config.h
  320.  
  321. chage.o: config.h shadow.h
  322.  
  323. clean:
  324.     -rm -f *.o a.out core npasswd nshadow *.pag *.dir
  325.  
  326. clobber: clean
  327.     -rm -f $(BINS) *.L
  328.  
  329. shar:    login.sh.1 login.sh.2 login.sh.3
  330.  
  331. login.sh.1: $(FILES1)
  332.     shar -a $(FILES1) > login.sh.1
  333.  
  334. login.sh.2: $(FILES2)
  335.     shar -a $(FILES2) > login.sh.2
  336.  
  337. login.sh.3: $(DOCS)
  338.     shar -a $(DOCS) > login.sh.3
  339.