# Makefile for units, a program for units conversion # # Copyright (C) 1996, 1997, 1999, 2005 Free Software Foundation, Inc # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # # # This program was written by Adrian Mariano (adrian@cam.cornell.edu) # SHELL = /bin/sh exec_prefix = @exec_prefix@ prefix = @prefix@ srcdir = @srcdir@ CC = @CC@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ MAKEINFO = makeinfo TEXI2DVI = texi2dvi LDFLAGS = @LDFLAGS@ LIBS= @LIBS@ VPATH = @srcdir@ bindir = @bindir@ infodir = @infodir@ mandir = @mandir@ transform=@program_transform_name@ datadir = @datadir@ DEFS = -DUNITSFILE=\"@UDAT@units.dat\" @DEFIS@ @DEFS@ CFLAGS = @CFLAGS@ OBJECTS = units.@OBJEXT@ parse.tab.@OBJEXT@ getopt.@OBJEXT@ getopt1.@OBJEXT@ @STRFUNC@ .SUFFIXES: .SUFFIXES: .c .@OBJEXT@ .c.@OBJEXT@: $(CC) $(DEFS) $(CFLAGS) -I$(srcdir) -c $< # %.@OBJEXT@: %.c # $(CC) $(DEFS) $(CFLAGS) -I$(srcdir) -c %.c DISTFILES = README ChangeLog units.info units.doc getopt1.c units.dvi \ Makefile.in units.c getopt.c getopt.h units.dat units.man units.texinfo \ configure.ac configure strfunc.c COPYING Makefile.dos install-sh \ mkinstalldirs NEWS texi2man INSTALL \ parse.tab.c parse.y units.h Makefile.OS2 makeobjs.cmd README.OS2 all: units@EXEEXT@ units.1 units.info units.@OBJEXT@: units.c parse.tab.c: parse.y bison parse.y parse.tab.@OBJEXT@: parse.tab.c units@EXEEXT@: $(OBJECTS) $(CC) $(LDFLAGS) -o units $(OBJECTS) $(LIBS) install: units units.dat install-doc $(srcdir)/mkinstalldirs $(bindir) $(datadir) $(INSTALL_PROGRAM) units $(bindir)/`echo units|sed '$(transform)'` $(INSTALL_DATA) $(srcdir)/units.dat $(datadir)/units.dat install-strip: units units.dat install-doc $(INSTALL_PROGRAM) -s units $(bindir)/`echo units|sed '$(transform)'` $(INSTALL_DATA) $(srcdir)/units.dat $(datadir)/units.dat install-doc: install-man install-info install-man: units.1 $(srcdir)/mkinstalldirs $(mandir)/man1 $(INSTALL_DATA) units.1 $(mandir)/man1/`echo units|sed '$(transform)'`.1 units.man: units.texinfo texi2man ./texi2man units.texinfo > units.man units.1: units.man sed s!@DATAFILE@!@UDAT@units.dat! $(srcdir)/units.man > units.1 install-info: $(infodir)/units.info $(infodir)/units.info: units.info $(srcdir)/mkinstalldirs $(infodir) # There may be a newer info file in . than in srcdir. -if test -f units.info; then d=.; \ else d=$(srcdir); fi; \ $(INSTALL_DATA) $$d/units.info $@; \ # Run install-info only if it exists. # Use `if' instead of just prepending `-' to the # line so we notice real errors from install-info. # We use `$(SHELL) -c' because some shells do not # fail gracefully when there is an unknown command. if test -f $(infodir)/dir; then \ if $(SHELL) -c 'install-info --version' \ >/dev/null 2>&1; then \ install-info --dir-file=$(infodir)/dir \ $(infodir)/units.info; \ else true; fi \ else true; fi Makefile: Makefile.in config.status ./config.status uninstall: -rm -f $(bindir)/`echo units|sed '$(transform)'` \ $(mandir)/man1/`echo units|sed '$(transform)'`.1 \ $(infodir)/units.info $(datadir)units.dat @if test -f $(infodir)/dir; then \ echo You may need to remove units.info from $(infodir)/dir; \ else true; fi clean mostlyclean: -rm -f *.@OBJEXT@ units@EXEEXT@ units.fn units.ky units.pg units.tp \ units.vr units.log units.dvi units.1 units.cp distname .chk \ units.toc units.aux units.cps units.op distclean: clean -rm -f config.* Makefile TAGS maintainer-clean: clean -rm -f units.doc units.info units.dvi units-*.tar.gz parse.tab.c sig: echo units-`sed -n -e '/#.*VERSION/s/.*"\(.*\)"/\1/gp' \ $(srcdir)/units.c`.tar.gz > distname echo 'directory: units' > `cat distname`.directive gpg --clearsign `cat distname`.directive gpg -b `cat distname` -rm -f `cat distname`.directive distname dist: $(DISTFILES) echo units-`sed -n -e '/#.*VERSION/s/.*"\(.*\)"/\1/gp' \ $(srcdir)/units.c` > distname -rm -r `cat distname` `cat distname`.tar `cat distname`.tar.gz mkdir `cat distname` dst=`cat distname`; for f in $(DISTFILES); do \ ln $(srcdir)/$$f $$dst/$$f || { echo copying $$f; \ cp -p $(srcdir)/$$f $$dst/$$f ; } \ done chmod 777 `cat distname` tar cf `cat distname`.tar `cat distname` gzip `cat distname`.tar -rm -rf `cat distname` distname dvi: units.dvi units.dvi: units.texinfo $(TEXI2DVI) $(srcdir)/units.texinfo info: units.info units.info: units.texinfo $(MAKEINFO) $(srcdir)/units.texinfo units.doc: units.1 nroff -man $(srcdir)/units.1 | col -b > units.doc doc: units.dvi units.info units.doc check: all @echo Checking units @./units -f $(srcdir)/units.dat \ '(((square(kiloinch)+2.84m2) /0.5) meters^2)^(1|4)' m \ | sed -n -e 's/ \* //p' > .chk @if [ "`cat .chk`" = 6 ]; then echo Units seems to work; \ else echo Something is wrong: units failed the check: ;cat .chk; fi @rm -f .chk configure: configure.ac autoconf TAGS: units.c etags $(srcdir)/units.c $(srcdir)/parse.y smalldist: units.c units.h parse.y parse.tab.c echo units-`sed -n -e '/#.*VERSION/s/.*"\(.*\)"/\1/gp' \ $(srcdir)/units.c` > distname -rm -r `cat distname` `cat distname`.tar `cat distname`.tar.gz tar cf `cat distname`.tar units.c units.h parse.y parse.tab.c\ getopt1.c getopt.c getopt.h gzip `cat distname`.tar # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: