chiark / gitweb /
Distribute elite.tcl. Duh.
[rocl] / Makefile
1 # Makefile for RIGHT ON COMMAND-LINE
2 #
3 # $Id: Makefile,v 1.2 2003/02/25 00:25:10 mdw Exp $
4
5 #----- Configuration stuff --------------------------------------------------
6
7 # --- Compiling and linking ---
8
9 CC = gcc
10 INCLUDES = 
11 CFLAGS = -O2 -g -pedantic -Wall $(INCLUDES)
12 LD = gcc
13 LDFLAGS = -shared
14
15 # --- Installation ---
16
17 INST =
18 prefix = /usr/local
19 tcllibdir = $(prefix)/lib
20 pkglibdir = $(tcllibdir)/elite
21 bindir = $(prefix)/bin
22
23 INSTALL = install
24 RM = rm
25
26 #----- Main machinery -------------------------------------------------------
27 #
28 # Shouldn't need to fiddle with thiis stuff.
29
30 PACKAGE = rocl
31 VERSION = 1.0.0
32
33 TCLSCRIPTS = \
34         elite-editor elite-pairs elite-path elite-find elite-map \
35         elite-prices elite-describe elite-reach
36
37 all: elite.so pkgIndex.tcl
38
39 elite.so: elite.o
40         $(LD) $(LDFLAGS) elite.o -o elite.so
41
42 .SUFFIXES: .c .o
43 .c.o:; $(CC) -c $(CFLAGS) -o $@ $<
44
45 pkgIndex.tcl: elite.so elite.tcl
46         echo "pkg_mkIndex -verbose -direct . elite.so elite.tcl" | tclsh
47
48 install: all
49         $(INSTALL) -d $(INST)$(bindir) $(INST)$(pkglibdir)
50         $(INSTALL) -m 644 elite.so elite.tcl pkgIndex.tcl $(INST)$(pkglibdir)
51         $(INSTALL) -m 755 $(TCLSCRIPTS) $(INST)$(bindir)
52
53 clean:
54         $(RM) -f elite.o elite.so pkgIndex.tcl
55
56 DISTDIR = $(PACKAGE)-$(VERSION)
57 DISTFILES = README Makefile elite.c elite.tcl elite.def $(TCLSCRIPTS)
58 distdir: $(DISTFILES)
59         $(RM) -rf $(DISTDIR)
60         mkdir $(DISTDIR)
61         for i in $(DISTFILES); do ln -s ../$$i $(DISTDIR); done
62 disttar: distdir
63         tar chofz $(DISTDIR).tar.gz $(DISTDIR)
64 distzip: distdir
65         cd $(DISTDIR) && zip -rq ../$(DISTDIR).zip .
66 dist: disttar distzip
67         $(RM) -rf $(DISTDIR)
68 distcheck: dist
69         @echo "*** Packing..."
70         $(MAKE) dist
71         @echo "*** Unpacking..."
72         tar xfz $(DISTDIR).tar.gz
73         @echo "*** Test building..."
74         set -e; \
75         cd $(DISTDIR); \
76         $(MAKE) clean; \
77         $(MAKE); \
78         $(MAKE) install INST=inst; \
79         $(MAKE) dist
80         @echo "*** Tidying up..."
81         rm -rf $(DISTDIR)
82         @echo "*** All OK"
83
84 .PHONY: all install clean dist disttar distzip distdir distcheck
85
86 #----- That's all, folks ----------------------------------------------------