Commit | Line | Data |
---|---|---|
5a74fac2 | 1 | ### Makefile for RIGHT ON COMMAND-LINE |
1304202a | 2 | |
5a74fac2 MW |
3 | ###-------------------------------------------------------------------------- |
4 | ### Configuration stuff. | |
1304202a | 5 | |
5a74fac2 | 6 | ## Compiling and linking. |
1304202a | 7 | CC = gcc |
924f49bf | 8 | INCLUDES = -I/usr/include/tcl |
10bdc1e4 | 9 | CFLAGS = \ |
a5412de5 | 10 | -O2 -g -Wall -fPIC -funroll-loops -fomit-frame-pointer \ |
10bdc1e4 | 11 | $(INCLUDES) |
1304202a | 12 | LD = gcc |
13 | LDFLAGS = -shared | |
14 | ||
5a74fac2 | 15 | ## Installation. |
1304202a | 16 | INST = |
17 | prefix = /usr/local | |
18 | tcllibdir = $(prefix)/lib | |
19 | pkglibdir = $(tcllibdir)/elite | |
20 | bindir = $(prefix)/bin | |
21 | ||
22 | INSTALL = install | |
23 | RM = rm | |
24 | ||
5a74fac2 MW |
25 | ###-------------------------------------------------------------------------- |
26 | ### Main machinery. | |
27 | ### | |
28 | ### Shouldn't need to fiddle with this stuff. | |
1304202a | 29 | |
30 | PACKAGE = rocl | |
4041fdd8 | 31 | VERSION = $(shell ./auto-version) |
1304202a | 32 | |
33 | TCLSCRIPTS = \ | |
34 | elite-editor elite-pairs elite-path elite-find elite-map \ | |
74bdd262 | 35 | elite-prices elite-describe elite-reach elite-cmdr elite-salesman \ |
36 | elite-tantalus | |
1304202a | 37 | |
10bdc1e4 | 38 | SRCFILES = elite.c vec.c vec.h graph.c |
39 | ||
40 | PKGFILES = elite.so vec.so graph.so elite.tcl | |
41 | ||
42 | all: $(PKGFILES) pkgIndex.tcl | |
1304202a | 43 | |
44 | elite.so: elite.o | |
45 | $(LD) $(LDFLAGS) elite.o -o elite.so | |
10bdc1e4 | 46 | vec.so: vec.o |
47 | $(LD) $(LDFLAGS) vec.o -o vec.so | |
5a74fac2 MW |
48 | graph.so: graph.o vec.so |
49 | $(LD) $(LDFLAGS) -Wl,-rpath,$(pkglibdir) graph.o vec.so -o graph.so | |
10bdc1e4 | 50 | graph.o vec.o: vec.h |
1304202a | 51 | |
52 | .SUFFIXES: .c .o | |
53 | .c.o:; $(CC) -c $(CFLAGS) -o $@ $< | |
54 | ||
10bdc1e4 | 55 | pkgIndex.tcl: $(PKGFILES) |
5a74fac2 MW |
56 | LD_LIBRARY_PATH=$$(pwd) \ |
57 | echo "pkg_mkIndex -verbose -direct -load Vec . $(PKGFILES) " | \ | |
58 | tclsh | |
1304202a | 59 | |
60 | install: all | |
61 | $(INSTALL) -d $(INST)$(bindir) $(INST)$(pkglibdir) | |
10bdc1e4 | 62 | $(INSTALL) -m 644 $(PKGFILES) pkgIndex.tcl $(INST)$(pkglibdir) |
1304202a | 63 | $(INSTALL) -m 755 $(TCLSCRIPTS) $(INST)$(bindir) |
64 | ||
65 | clean: | |
10bdc1e4 | 66 | $(RM) -f *.o *.so pkgIndex.tcl |
1304202a | 67 | |
ef16cccd | 68 | distdir = $(PACKAGE)-$(VERSION) |
94b6e365 | 69 | DISTFILES = \ |
f4ca3294 | 70 | COPYING README Makefile $(SRCFILES) elite.tcl steele.cmdr \ |
4041fdd8 | 71 | elite.def vec.def graph.def $(TCLSCRIPTS) auto-version \ |
924f49bf MW |
72 | debian/rules debian/control debian/copyright debian/changelog \ |
73 | debian/compat debian/source/format | |
1304202a | 74 | distdir: $(DISTFILES) |
ef16cccd MW |
75 | $(RM) -rf $(distdir) |
76 | mkdir $(distdir) $(distdir)/debian | |
4041fdd8 | 77 | echo $(VERSION) >$(distdir)/RELEASE |
8d722cca | 78 | for i in $(DISTFILES); do \ |
79 | case $$i in \ | |
80 | */*) \ | |
81 | dir=$${i%/*}; \ | |
82 | up=`echo $$dir | sed 's:[^/]\+:..:g'`; \ | |
ef16cccd | 83 | mkdir -p $(distdir)/$$dir;; \ |
8d722cca | 84 | *) dir= up=;; \ |
85 | esac; \ | |
ef16cccd | 86 | ln -s ../$$up/$$i $(distdir)/$$i; \ |
8d722cca | 87 | done |
74dd4846 | 88 | disttar: distdir |
ef16cccd | 89 | tar chofz $(INST)$(distdir).tar.gz $(distdir) |
74dd4846 | 90 | distzip: distdir |
ef16cccd | 91 | cd $(distdir) && zip -rq ../$(INST)$(distdir).zip . |
74dd4846 | 92 | dist: disttar distzip |
ef16cccd | 93 | $(RM) -rf $(distdir) |
74dd4846 | 94 | distcheck: dist |
95 | @echo "*** Packing..." | |
96 | $(MAKE) dist | |
97 | @echo "*** Unpacking..." | |
ef16cccd | 98 | tar xfz $(distdir).tar.gz |
74dd4846 | 99 | @echo "*** Test building..." |
100 | set -e; \ | |
ef16cccd | 101 | cd $(distdir); \ |
74dd4846 | 102 | $(MAKE) clean; \ |
103 | $(MAKE); \ | |
104 | $(MAKE) install INST=inst; \ | |
105 | $(MAKE) dist | |
106 | @echo "*** Tidying up..." | |
ef16cccd | 107 | rm -rf $(distdir) |
74dd4846 | 108 | @echo "*** All OK" |
109 | ||
110 | .PHONY: all install clean dist disttar distzip distdir distcheck | |
1304202a | 111 | |
5a74fac2 | 112 | ###----- That's all, folks -------------------------------------------------- |