From: Eric S. Raymond Date: Tue, 4 Mar 2003 15:17:00 +0000 (-0500) Subject: This is the new installation routine. X-Git-Tag: 0.22~5 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=93f6444812e06b0cc9a89c3f8d726e5e192e6190;p=intercal.git This is the new installation routine. git-svn-id: file:///home/esr/WWW/intercal-svn/SVN/trunk@89 ed1676b7-8a69-4a80-8ae9-efeaa32f422a --- diff --git a/Makefile b/Makefile index b9a1537..3675118 100644 --- a/Makefile +++ b/Makefile @@ -1,30 +1,113 @@ # -# Utility productions for the INTERCAL distribution +# Productions for the INTERCAL distribution # -# Don't forget to fix the spec file and index.html when you bump this. -VERSION=0.22 -dist: intercal-$(VERSION).tar.gz +# Common prefix for machine-independent installed files. +prefix = @prefix@ +# Common prefix for machine-dependent installed files. +exec_prefix = @exec_prefix@ -intercal-$(VERSION).tar.gz: - sed "s:^:intercal-$(VERSION)/:" manifest - (cd ..; ln -s intercal intercal-$(VERSION)) - (cd ..; tar -czvf intercal/intercal-$(VERSION).tar.gz `cat intercal/manifest`) - rm ../intercal-$(VERSION) manifest +# Directory in which to install binaries. +bindir = @bindir@ +# Directory in which to install libraries. +libdir = @libdir@ +# Directory to install data files. +datadir = @datadir@/intercal-@PACKAGE_VERSION@ +# Directory to install the include files in. +incdir = @includedir@/intercal-@PACKAGE_VERSION@ + +# Program to install binaries +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +# Program to install the man page. +INSTALL_DATA = @INSTALL_DATA@ +# Generic install program. +INSTALL = @INSTALL@ + +CC = @CC@ +CFLAGS = @CFLAGS@ -DICKINCLUDEDIR=\"$(incdir)\" -DICKLIBDIR=\"$(datadir)\" -DYYDEBUG +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXFLAGS= +YACC = @YACC@ +YACCFLAGS = -d # -t + +LOADLIBS = @LIBS@ @INTLLIBS@ @LEXLIB@ + +CSOURCES = ick.y lexer.l feh.c lose.c fiddle.c perpetrate.c +ISOURCES = cesspool.c arrgghh.c ick-wrap.c +HEADERS = ick.h lose.h sizes.h abcess.h fiddle.h feh.h +MISC = configure.ac config.h.in specgen.sh +SOURCES = $(CSOURCES) $(ISOURCES) $(HEADERS) $(MISC) + +all: ick libick.a + +ick: ick.o lexer.o feh.o lose.o fiddle.o perpetrate.o + $(CC) perpetrate.o ick.o lexer.o feh.o lose.o fiddle.o $(LDFLAGS) -o ick + +y.tab.h ick.c: ick.y ick.h sizes.h feh.h lose.h + $(YACC) -d $(YACCFLAGS) ick.y + mv y.tab.c ick.c + +lexer.c: lexer.l ick.h lose.h + $(LEX) $(LEXFLAGS) lexer.l + mv lex.yy.c lexer.c + +# Uncomment the following if using a stock lex +# LEXLIBS = -ll +lextest: y.tab.h lexer.c ick.h lose.o + $(CC) -DMAIN lexer.c lose.o $(LEXLIBS) -o lextest + +ick.o: ick.c ick.h feh.h lose.h sizes.h +lexer.o: lexer.c y.tab.h ick.h lose.h +feh.o: feh.c feh.h y.tab.h ick.h fiddle.h lose.h sizes.h +perpetrate.o: perpetrate.c y.tab.h ick.h lose.h sizes.h +cesspool.o: cesspool.c numerals.c abcess.h lose.h sizes.h +lose.o: lose.h +fiddle.o: fiddle.h sizes.h + +libick.a: cesspool.o lose.o fiddle.o arrgghh.o + ar cr libick.a cesspool.o lose.o fiddle.o arrgghh.o + -ranlib libick.a + +install: all + cp ick $(bindir) + cp libick.a $(libdir) + -mkdir -p $(incdir) + cp lose.h abcess.h fiddle.h $(incdir) + -mkdir $(datadir) + (cp -r pit $(datadir)/pit) + (cp -r lib $(datadir)/lib) + cp ick-wrap.c $(datadir) + +uninstall: + rm -f $(bindir)/ick $(libdir)/libick.a + rm -f $(incdir) $(datadir) + +TAGS: $(SOURCES) + etags $(SOURCES) + +dist: intercal-@PACKAGE_VERSION@.tar.gz + +intercal-@PACKAGE_VERSION@.tar.gz: + sed "s:^:intercal-@PACKAGE_VERSION@/:" manifest + (cd ..; ln -s intercal intercal-@PACKAGE_VERSION@) + (cd ..; tar -czvf intercal/intercal-@PACKAGE_VERSION@.tar.gz `cat intercal/manifest`) + rm ../intercal-@PACKAGE_VERSION@ manifest intercal.spec: - specgen.sh $(VERSION) >intercal.spec + specgen.sh @PACKAGE_VERSION@ >intercal.spec RPMROOT=/usr/src/redhat RPM = rpmbuild RPMFLAGS = -ba rpm: dist - cp intercal-$(VERSION).tar.gz $(RPMROOT)/SOURCES; + cp intercal-@PACKAGE_VERSION@.tar.gz $(RPMROOT)/SOURCES; cp intercal.spec $(RPMROOT)/SPECS cd $(RPMROOT)/SPECS; $(RPM) $(RPMFLAGS) intercal.spec - cp $(RPMROOT)/RPMS/`arch|sed 's/i[4-9]86/i386/'`/intercal-$(VERSION)*.rpm . - cp $(RPMROOT)/SRPMS/intercal-$(VERSION)*.src.rpm . + cp $(RPMROOT)/RPMS/`arch|sed 's/i[4-9]86/i386/'`/intercal-@PACKAGE_VERSION@*.rpm . + cp $(RPMROOT)/SRPMS/intercal-@PACKAGE_VERSION@*.src.rpm . clean: - rm -f intercal-$(VERSION).shar intercal-$(VERSION).tar intercal-$(VERSION).tar.gz intercal.spec + rm -f yacc.* y.tab.* y.output *~ *.[oa] lexer.c ick.c lextest ick + rm -f intercal-@PACKAGE_VERSION@.shar intercal-@PACKAGE_VERSION@.tar intercal-@PACKAGE_VERSION@.tar.gz intercal.spec