home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / sh-utils-1.12-src.tgz / tar.out / fsf / sh-utils / src / Makefile.in < prev    next >
Makefile  |  1996-09-28  |  7KB  |  269 lines

  1. # Makefile for GNU shell utilities.
  2. # Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
  3.  
  4. # This program is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 2, or (at your option)
  7. # any later version.
  8.  
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. # GNU General Public License for more details.
  13.  
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program; if not, write to the Free Software
  16. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18. SHELL = /bin/sh
  19.  
  20. srcdir = @srcdir@
  21. VPATH = @srcdir@
  22.  
  23. prefix = @prefix@
  24. exec_prefix = @exec_prefix@
  25. bindir = $(exec_prefix)/bin
  26. libdir = $(exec_prefix)/lib
  27.  
  28. INSTALL = @INSTALL@
  29. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  30. CC = @CC@
  31. DEFS = @DEFS@
  32. LIBS = @LIBS@
  33. CFLAGS = @CFLAGS@
  34. LDFLAGS = @LDFLAGS@
  35. RM = rm
  36.  
  37. SOURCES = basename.c date.c dirname.c echo.c env.c expr.c hostname.c id.c \
  38. logname.c pathchk.c printenv.c printf.c pwd.c sleep.c su.c \
  39. tee.c test.c tty.c who.c whoami.c yes.c nice.c stty.c uname.c version.c
  40.  
  41. OBJECTS = basename.o date.o dirname.o echo.o env.o expr.o hostname.o id.o \
  42. logname.o pathchk.o printenv.o printf.o pwd.o sleep.o su.o \
  43. tee.o test.o tty.o users.o who.o whoami.o yes.o nice.o stty.o uname.o \
  44. version.o
  45.  
  46. DISTFILES = Makefile.in system.h $(SOURCES) groups.sh nohup.sh \
  47. false.sh true.sh version.h
  48.  
  49. # Amiga hacks - remove tty and who, since they need ttyname().
  50. PROGS = basename date dirname echo env expr false groups hostname id logname \
  51. pathchk printenv printf pwd sleep tee test true users whoami yes @PROGS@
  52.  
  53. LIBPROGS =
  54.  
  55. # Amiga hack - remove su since it needs getpass().
  56. all: $(PROGS) $(LIBPROGS)
  57.  
  58. .SUFFIXES:
  59. .SUFFIXES: .c .o
  60.  
  61. incl = -I.. -I$(srcdir) -I../lib -I$(srcdir)/../lib
  62. .c.o:
  63.     $(CC) -c $(CPPFLAGS) $(DEFS) $(incl) $(CFLAGS) $<
  64.  
  65. subdir = src
  66. Makefile: ../config.status Makefile.in
  67.     cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
  68.  
  69. installdirs:
  70.     $(srcdir)/../mkinstalldirs $(bindir)
  71.  
  72. transform = @program_transform_name@
  73. install: all installdirs
  74.     for f in $(PROGS); do \
  75.       $(INSTALL_PROGRAM) $$f \
  76.           $(bindir)/`echo $$f|sed '$(transform)'`; \
  77.     done
  78.     $(RM) -f $(bindir)/'['; ln $(bindir)/$(binprefix)test $(bindir)/'['
  79.     @if false; then \
  80.     echo you are root, so installing su; \
  81.     $(INSTALL_PROGRAM) su $(bindir)/$(binprefix)su; \
  82.     chown root $(bindir)/$(binprefix)su; \
  83.     chmod 4755 $(bindir)/$(binprefix)su; \
  84.     else echo WARNING: you are not root, so not installing su; fi
  85.  
  86. uninstall:
  87.     $(RM) -f $(bindir)/'['
  88.     for f in $(PROGS) su; do \
  89.       $(RM) -f \
  90.           $(bindir)/`echo $$f|sed '$(transform)'`; \
  91.     done
  92.  
  93. TAGS: $(SOURCES)
  94.     etags $(SOURCES)
  95.  
  96. check:
  97.  
  98. clean:
  99.     $(RM) -f $(PROGS) su $(LIBPROGS) *.o core '[' .version users.c
  100.  
  101. mostlyclean: clean
  102.  
  103. distclean: clean
  104.     $(RM) -f Makefile
  105.  
  106. realclean: distclean
  107.     $(RM) -f TAGS
  108.  
  109. distdir = ../`cat ../distname`/$(subdir)
  110. dist: $(DISTFILES)
  111.     for file in $(DISTFILES); do \
  112.       ln $$file $(distdir) \
  113.         || { echo copying $$file instead; cp -p $$file $(distdir);}; \
  114.     done
  115.  
  116. # Linking rules.
  117.  
  118. link_command = $(CC) $(LDFLAGS) -o $@
  119.  
  120. .version: version.c
  121.     sed -e '/version_string/!d' \
  122.         -e 's/[^"]*"\([^"]*\)".*/\1/' \
  123.         -e q $(srcdir)/version.c \
  124.       > $@-t
  125.     mv $@-t $@
  126.  
  127. basename: basename.o
  128.     $(link_command) basename.o ../lib/libshu.a version.o $(LIBS)
  129.  
  130. date: date.o
  131.     $(link_command) date.o ../lib/libshu.a version.o $(LIBS)
  132.  
  133. dirname: dirname.o
  134.     $(link_command) dirname.o ../lib/libshu.a version.o $(LIBS)
  135.  
  136. echo: echo.o
  137.     $(link_command) echo.o ../lib/libshu.a version.o $(LIBS)
  138.  
  139. env: env.o
  140.     $(link_command) env.o ../lib/libshu.a version.o $(LIBS)
  141.  
  142. expr: expr.o
  143.     $(link_command) expr.o ../lib/libshu.a version.o $(LIBS)
  144.  
  145. false: false.sh .version
  146.     $(RM) -f $@ $@-t
  147.     sed -e "s/@VERSION@/`cat .version`/" $(srcdir)/false.sh \
  148.         > $@-t
  149.     mv $@-t $@
  150.     chmod +x $@
  151.  
  152. groups: groups.sh .version
  153.     $(RM) -f $@ $@-t
  154.     # Amiga hack - avoid autoconf substitutions of @bindir@
  155.     sed -e "s,@bin.*dir@,$(bindir),g" \
  156.         -e "s/@VERSION@/`cat .version`/" $(srcdir)/groups.sh \
  157.         > $@-t
  158.     mv $@-t $@
  159.     chmod +x $@
  160.  
  161. hostname: hostname.o 
  162.     $(link_command) hostname.o ../lib/libshu.a version.o $(LIBS)
  163.  
  164. id: id.o
  165.     $(link_command) id.o ../lib/libshu.a version.o $(LIBS)
  166.  
  167. logname: logname.o
  168.     $(link_command) logname.o ../lib/libshu.a version.o $(LIBS)
  169.  
  170. nohup: nohup.sh .version
  171.     $(RM) -f $@ $@-t
  172.     # Amiga hack - avoid autoconf substitutions of @bindir@
  173.     sed -e "s,@bin.*dir@,$(bindir),g" \
  174.         -e "s/@VERSION@/`cat .version`/" $(srcdir)/nohup.sh \
  175.         > $@-t
  176.     mv $@-t $@
  177.     chmod +x $@
  178.  
  179. pathchk: pathchk.o
  180.     $(link_command) pathchk.o ../lib/libshu.a version.o $(LIBS)
  181.  
  182. printenv: printenv.o
  183.     $(link_command) printenv.o ../lib/libshu.a version.o $(LIBS)
  184.  
  185. # Link with -lm in case strtod.o needs to get `pow'.
  186. printf: printf.o
  187.     $(link_command) printf.o ../lib/libshu.a version.o $(LIBS) -lm
  188.  
  189. pwd: pwd.o 
  190.     $(link_command) pwd.o ../lib/libshu.a version.o $(LIBS)
  191.  
  192. sleep: sleep.o
  193.     $(link_command) sleep.o ../lib/libshu.a version.o $(LIBS)
  194.  
  195. su: su.o
  196.     $(link_command) su.o ../lib/libshu.a version.o $(LIBS)
  197.  
  198. tee: tee.o
  199.     $(link_command) tee.o ../lib/libshu.a version.o $(LIBS)
  200.  
  201. test: test.o
  202.     $(link_command) test.o ../lib/libshu.a version.o $(LIBS)
  203.  
  204. true: true.sh .version
  205.     $(RM) -f $@ $@-t
  206.     sed -e "s/@VERSION@/`cat .version`/" $(srcdir)/true.sh \
  207.         > $@-t
  208.     mv $@-t $@
  209.     chmod +x $@
  210.  
  211. tty: tty.o
  212.     $(link_command) tty.o ../lib/libshu.a version.o $(LIBS)
  213.  
  214. users: users.o
  215.     $(link_command) users.o ../lib/libshu.a version.o $(LIBS)
  216.  
  217. who: who.o
  218.     $(link_command) who.o ../lib/libshu.a version.o $(LIBS)
  219.  
  220. whoami: whoami.o
  221.     $(link_command) whoami.o ../lib/libshu.a version.o $(LIBS)
  222.  
  223. yes: yes.o
  224.     $(link_command) yes.o ../lib/libshu.a version.o $(LIBS)
  225.  
  226. nice: nice.o
  227.     $(link_command) nice.o ../lib/libshu.a version.o $(LIBS)
  228.  
  229. stty: stty.o
  230.     $(link_command) stty.o ../lib/libshu.a version.o $(LIBS)
  231.  
  232. uname: uname.o
  233.     $(link_command) uname.o ../lib/libshu.a version.o $(LIBS)
  234.  
  235. # Special rules for some .o files.
  236.  
  237. su.o: su.c
  238.     $(CC) -c $(CPPFLAGS) -DSYSLOG_FAILURE -DSYSLOG_SUCCESS $(DEFS) \
  239.         $(incl) $(CFLAGS) $(srcdir)/su.c
  240.  
  241. test.o: test.c
  242.     $(CC) -c $(CPPFLAGS) -DTEST_STANDALONE $(DEFS) \
  243.         $(incl) $(CFLAGS) $(srcdir)/test.c
  244.  
  245. users.o: users.c
  246.     $(CC) -c $(CPPFLAGS) -DUSERS $(DEFS) $(incl) $(CFLAGS) $<
  247. users.c: who.c
  248.     $(RM) -f users.c
  249.     ln $(srcdir)/who.c users.c >/dev/null 2>&1 \
  250.         || cp $(srcdir)/who.c users.c
  251.  
  252. who.o: who.c
  253.     $(CC) -c $(CPPFLAGS) -DWHO $(DEFS) $(incl) $(CFLAGS) $<
  254.  
  255. $(PROGS) su $(LIBPROGS): ../lib/libshu.a version.o
  256. env.o id.o nice.o pathchk.o stty.o su.o tty.o uname.o users.o who.o: \
  257.   ../lib/getopt.h
  258. expr.o: ../lib/regex.h
  259. basename.o dirname.o echo.o expr.o hostname.o nice.o printf.o pwd.o \
  260.   stty.o test.o yes.o: ../lib/long-options.h
  261.  
  262. # Make all .o files depend on these files even though there are a few
  263. # unnecessary dependencies.
  264. $(OBJECTS): ../config.h system.h version.h
  265.  
  266. # Tell versions [3.59,3.63) of GNU make not to export all variables.
  267. # Otherwise a system limit (for SysV at least) may be exceeded.
  268. .NOEXPORT:
  269.