home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / gnu / sh-utils-1.12-src.lha / sh-utils-1.12 / lib / Makefile.in < prev    next >
Makefile  |  1994-11-04  |  4KB  |  139 lines

  1. # Makefile for library files used by 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. CC = @CC@
  24. AR = ar
  25. RANLIB = @RANLIB@
  26. DEFS = @DEFS@
  27. CFLAGS = @CFLAGS@
  28. YACC = @YACC@
  29.  
  30. SOURCES = regex.c getdate.y posixtm.y strftime.c \
  31. alloca.c basename.c error.c full-write.c gethostname.c getline.c getopt.c \
  32. getopt1.c getugroups.c getusershell.c group-member.c long-options.c \
  33. memcmp.c mktime.c putenv.c stime.c strcspn.c stripslash.c strstr.c \
  34. strtod.c strtol.c strtoul.c xgetcwd.c xgethostname.c xmalloc.c xstrdup.c
  35.  
  36. OBJECTS = regex.o getdate.o posixtm.o strftime.o \
  37. basename.o error.o full-write.o getline.o getopt.o getopt1.o getugroups.o \
  38. group-member.o long-options.o putenv.o safe-lstat.o safe-stat.o \
  39. stripslash.o xgetcwd.o xgethostname.o xmalloc.o xstrdup.o @LIBOBJS@ @ALLOCA@
  40.  
  41. DISTFILES = Makefile.in getline.h getopt.h long-options.h regex.h pathmax.h \
  42. getdate.c posixtm.c group-member.h safe-xstat.cin safe-xstat.hin $(SOURCES)
  43.  
  44. all: libshu.a
  45.  
  46. .SUFFIXES:
  47. .SUFFIXES: .c .o
  48.  
  49. .c.o:
  50.     $(CC) -c $(CPPFLAGS) $(DEFS) -I. -I.. -I$(srcdir) $(CFLAGS) $<
  51.  
  52. subdir = lib
  53. Makefile: ../config.status Makefile.in
  54.     cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
  55.  
  56. installdirs:
  57.  
  58. install: all
  59.  
  60. uninstall:
  61.  
  62. TAGS: $(SOURCES)
  63.     etags $(SOURCES)
  64.  
  65. check:
  66.  
  67. clean:
  68.     rm -f *.a *.o
  69.  
  70. mostlyclean: clean
  71.  
  72. distclean: clean
  73.     rm -f Makefile *.tab.c tposixtm.c \
  74.       safe-stat.c safe-stat.h safe-lstat.c safe-lstat.h
  75.  
  76. realclean: distclean
  77.     rm -f TAGS getdate.c posixtm.c
  78.  
  79. distdir = ../`cat ../distname`/$(subdir)
  80. dist: $(DISTFILES)
  81.     for file in $(DISTFILES); do \
  82.       ln $$file $(distdir) \
  83.         || { echo copying $$file instead; cp -p $$file $(distdir);}; \
  84.     done
  85.  
  86. libshu.a: $(OBJECTS)
  87.     rm -f $@
  88.     $(AR) cr $@ $(OBJECTS)
  89.     -$(RANLIB) $@
  90.  
  91. extract_stat = sed 's/@l@//g; s/@L@//g; /@LSTAT_ONLY@/d'
  92. extract_lstat = sed 's/@l@/l/g; s/@L@/L/g; s/    *@LSTAT_ONLY@//'
  93.  
  94. safe-lstat.c: safe-xstat.cin
  95.     $(extract_lstat) $(srcdir)/safe-xstat.cin > $@-t
  96.     mv $@-t $@
  97.  
  98. safe-lstat.h: safe-xstat.hin
  99.     $(extract_lstat) $(srcdir)/safe-xstat.hin > $@-t
  100.     mv $@-t $@
  101.  
  102. safe-stat.c: safe-xstat.cin
  103.     $(extract_stat) $(srcdir)/safe-xstat.cin > $@-t
  104.     mv $@-t $@
  105.  
  106. safe-stat.h: safe-xstat.hin
  107.     $(extract_stat) $(srcdir)/safe-xstat.hin > $@-t
  108.     mv $@-t $@
  109.  
  110. safe-stat.o: safe-stat.h
  111. safe-lstat.o: safe-lstat.h safe-stat.h
  112.  
  113. # Since this directory contains two parsers, we have to be careful to avoid
  114. # running two $(YACC)s during parallel makes.  See below.
  115. getdate.c: getdate.y
  116.     @echo expect 10 shift/reduce conflicts
  117.     $(YACC) $(srcdir)/getdate.y
  118.     mv y.tab.c getdate.c
  119.  
  120. # Make the rename atomic, in case sed is interrupted and later rerun.
  121. # The artificial dependency on getdate.c keeps the two parsers from being
  122. # built in parallel.  Enforcing this little bit of sequentiality lets
  123. # everyone (even those without bison) still run mostly parallel builds.
  124. posixtm.c: posixtm.y getdate.c
  125.     $(YACC) $(srcdir)/posixtm.y
  126.     mv y.tab.c posixtm.tab.c
  127.     sed -e 's/yy/zz/g' posixtm.tab.c > tposixtm.c
  128.     mv tposixtm.c posixtm.c
  129.     rm -f posixtm.tab.c
  130.  
  131. $(OBJECTS): ../config.h
  132.  
  133. getopt1.o: getopt.h
  134. regex.o: regex.h
  135.  
  136. # Tell versions [3.59,3.63) of GNU make not to export all variables.
  137. # Otherwise a system limit (for SysV at least) may be exceeded.
  138. .NOEXPORT:
  139.