X-Git-Url: https://git.distorted.org.uk/~mdw/rocl/blobdiff_plain/1304202ad2001c85d3eae3a37c51e001794c24c8..45c362bf0c07504c771a5f1cdb24a234b099f161:/Makefile diff --git a/Makefile b/Makefile index 83c1977..de93b6f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,6 @@ # Makefile for RIGHT ON COMMAND-LINE +# +# $Id$ #----- Configuration stuff -------------------------------------------------- @@ -6,7 +8,9 @@ CC = gcc INCLUDES = -CFLAGS = -O2 -g -pedantic -Wall $(INCLUDES) +CFLAGS = \ + -O2 -g -pedantic -Wall -funroll-loops -fomit-frame-pointer \ + $(INCLUDES) LD = gcc LDFLAGS = -shared @@ -26,41 +30,81 @@ RM = rm # Shouldn't need to fiddle with thiis stuff. PACKAGE = rocl -VERSION = 1.0.0 +VERSION = 1.1.5 TCLSCRIPTS = \ elite-editor elite-pairs elite-path elite-find elite-map \ - elite-prices elite-describe elite-reach + elite-prices elite-describe elite-reach elite-cmdr elite-salesman \ + elite-tantalus + +SRCFILES = elite.c vec.c vec.h graph.c -all: elite.so pkgIndex.tcl +PKGFILES = elite.so vec.so graph.so elite.tcl + +all: $(PKGFILES) pkgIndex.tcl elite.so: elite.o $(LD) $(LDFLAGS) elite.o -o elite.so +vec.so: vec.o + $(LD) $(LDFLAGS) vec.o -o vec.so +graph.so: graph.o + $(LD) $(LDFLAGS) graph.o -o graph.so +graph.o vec.o: vec.h .SUFFIXES: .c .o .c.o:; $(CC) -c $(CFLAGS) -o $@ $< -pkgIndex.tcl: elite.so elite.tcl - echo "pkg_mkIndex -verbose -direct . elite.so elite.tcl" | tclsh +pkgIndex.tcl: $(PKGFILES) + echo "pkg_mkIndex -verbose -direct -load Vec . $(PKGFILES) " | tclsh install: all $(INSTALL) -d $(INST)$(bindir) $(INST)$(pkglibdir) - $(INSTALL) -m 644 elite.so elite.tcl pkgIndex.tcl $(INST)$(pkglibdir) + $(INSTALL) -m 644 $(PKGFILES) pkgIndex.tcl $(INST)$(pkglibdir) $(INSTALL) -m 755 $(TCLSCRIPTS) $(INST)$(bindir) clean: - $(RM) -f elite.o elite.so pkgIndex.tcl + $(RM) -f *.o *.so pkgIndex.tcl DISTDIR = $(PACKAGE)-$(VERSION) -DISTFILES = README Makefile elite.c elite.def $(TCLSCRIPTS) +DISTFILES = \ + README Makefile $(SRCFILES) elite.tcl steele.cmdr \ + elite.def vec.def graph.def $(TCLSCRIPTS) \ + debian/rules debian/control debian/copyright debian/changelog distdir: $(DISTFILES) $(RM) -rf $(DISTDIR) - mkdir $(DISTDIR) - for i in $(DISTFILES); do ln -s ../$$i $(DISTDIR); done -dist: distdir - tar chofz $(DISTDIR).tar.gz $(DISTDIR) + mkdir $(DISTDIR) $(DISTDIR)/debian + for i in $(DISTFILES); do \ + case $$i in \ + */*) \ + dir=$${i%/*}; \ + up=`echo $$dir | sed 's:[^/]\+:..:g'`; \ + mkdir -p $(DISTDIR)/$$dir;; \ + *) dir= up=;; \ + esac; \ + ln -s ../$$up/$$i $(DISTDIR)/$$i; \ + done +disttar: distdir + tar chofz $(INST)$(DISTDIR).tar.gz $(DISTDIR) +distzip: distdir + cd $(DISTDIR) && zip -rq ../$(INST)$(DISTDIR).zip . +dist: disttar distzip $(RM) -rf $(DISTDIR) - -.PHONY: all install clean dist distdir +distcheck: dist + @echo "*** Packing..." + $(MAKE) dist + @echo "*** Unpacking..." + tar xfz $(DISTDIR).tar.gz + @echo "*** Test building..." + set -e; \ + cd $(DISTDIR); \ + $(MAKE) clean; \ + $(MAKE); \ + $(MAKE) install INST=inst; \ + $(MAKE) dist + @echo "*** Tidying up..." + rm -rf $(DISTDIR) + @echo "*** All OK" + +.PHONY: all install clean dist disttar distzip distdir distcheck #----- That's all, folks ----------------------------------------------------