1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
# Useful options you might want to put on the make command line:
#
# - `SLANG=yes' to build against libslang instead of libncurses
# (libncurses is better and more reliable, but libslang might be
# all you have on a particular platform if you're unlucky).
#
# - `XFLAGS=-DNO_LARGE_FILES' to leave out the 64-bit file access
# support (restricts Tweak to editing files under 2Gb, but
# should cause it to compile successfully on platforms without
# fseeko and ftello and/or long long support).
#
# - `VERSION=X.XX' (for whatever X.XX you like) to cause the `make
# release' target to build a release tarball called
# `tweak-X.XX.tar.gz' which unpacks into a directory
# `tweak-X.XX'. Note that you also need to modify the version
# number in tweak.h, or else the resulting binary won't match
# the version number on the archive.
CC := gcc
CFLAGS := -g -c -Wall $(XFLAGS)
LINK := gcc
LFLAGS :=
LIBS :=
PREFIX=/usr/local
BINDIR=$(PREFIX)/bin
MANDIR=$(PREFIX)/man/man1
TWEAK := main.o keytab.o actions.o search.o rcfile.o buffer.o btree.o
ifeq ($(SLANG),yes)
# INCLUDE += -I/path/to/slang/include
# LIBS += -L/path/to/slang/lib
LIBS += -lslang
TWEAK += slang.o
else
LIBS += -lncurses
TWEAK += curses.o
endif
.c.o:
$(CC) $(CFLAGS) $*.c
all: tweak tweak.1 btree.html
tweak: $(TWEAK)
$(LINK) -o tweak $(TWEAK) $(LIBS)
tweak.1: manpage.but
halibut --man=$@ $<
btree.html: btree.but
halibut --html=$@ $<
# Ensure tweak.h reflects this version number, and then run a
# command like `make release VERSION=3.00'.
release: tweak.1 btree.html
mkdir -p reltmp/tweak-$(VERSION)
for i in LICENCE *.c *.h *.but tweak.1 btree.html Makefile; do \
ln -s ../../$$i reltmp/tweak-$(VERSION); \
done
(cd reltmp; tar chzvf ../tweak-$(VERSION).tar.gz tweak-$(VERSION))
rm -rf reltmp
install: tweak tweak.1
mkdir -p $(BINDIR)
install tweak $(BINDIR)/tweak
mkdir -p $(MANDIR)
install -m 0644 tweak.1 $(MANDIR)/tweak.1
clean:
rm -f *.o tweak tweak.1 btree.html
main.o: main.c tweak.h
keytab.o: keytab.c tweak.h
actions.o: actions.c tweak.h
search.o: search.c tweak.h
rcfile.o: rcfile.c tweak.h
buffer.o: buffer.c tweak.h btree.h
slang.o: slang.c tweak.h
curses.o: curses.c tweak.h
btree.o: btree.c btree.h
|