File: Makefile

package info (click to toggle)
tweak 3.01-6
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 344 kB
  • ctags: 400
  • sloc: ansic: 4,150; sh: 398; makefile: 94; perl: 12
file content (82 lines) | stat: -rw-r--r-- 2,251 bytes parent folder | download | duplicates (3)
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