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 |
5a74fac2 | 8 | INCLUDES = |
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 | |
74bdd262 | 31 | VERSION = 1.1.5 |
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 \ |
8d722cca | 71 | elite.def vec.def graph.def $(TCLSCRIPTS) \ |
72 | debian/rules debian/control debian/copyright debian/changelog | |
1304202a | 73 | distdir: $(DISTFILES) |
ef16cccd MW |
74 | $(RM) -rf $(distdir) |
75 | mkdir $(distdir) $(distdir)/debian | |
8d722cca | 76 | for i in $(DISTFILES); do \ |
77 | case $$i in \ | |
78 | */*) \ | |
79 | dir=$${i%/*}; \ | |
80 | up=`echo $$dir | sed 's:[^/]\+:..:g'`; \ | |
ef16cccd | 81 | mkdir -p $(distdir)/$$dir;; \ |
8d722cca | 82 | *) dir= up=;; \ |
83 | esac; \ | |
ef16cccd | 84 | ln -s ../$$up/$$i $(distdir)/$$i; \ |
8d722cca | 85 | done |
74dd4846 | 86 | disttar: distdir |
ef16cccd | 87 | tar chofz $(INST)$(distdir).tar.gz $(distdir) |
74dd4846 | 88 | distzip: distdir |
ef16cccd | 89 | cd $(distdir) && zip -rq ../$(INST)$(distdir).zip . |
74dd4846 | 90 | dist: disttar distzip |
ef16cccd | 91 | $(RM) -rf $(distdir) |
74dd4846 | 92 | distcheck: dist |
93 | @echo "*** Packing..." | |
94 | $(MAKE) dist | |
95 | @echo "*** Unpacking..." | |
ef16cccd | 96 | tar xfz $(distdir).tar.gz |
74dd4846 | 97 | @echo "*** Test building..." |
98 | set -e; \ | |
ef16cccd | 99 | cd $(distdir); \ |
74dd4846 | 100 | $(MAKE) clean; \ |
101 | $(MAKE); \ | |
102 | $(MAKE) install INST=inst; \ | |
103 | $(MAKE) dist | |
104 | @echo "*** Tidying up..." | |
ef16cccd | 105 | rm -rf $(distdir) |
74dd4846 | 106 | @echo "*** All OK" |
107 | ||
108 | .PHONY: all install clean dist disttar distzip distdir distcheck | |
1304202a | 109 | |
5a74fac2 | 110 | ###----- That's all, folks -------------------------------------------------- |