aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorMatthias-Christian Ott <ott@enolink.de>2008-07-21 17:06:59 +0200
committerMatthias-Christian Ott <ott@enolink.de>2008-07-21 17:06:59 +0200
commite0d0a2b96e84bba95f6f3e274131e3bbfb3a4f56 (patch)
tree094f50c48cb0f2cc0a97e6912e90cfb3a907f201 /Makefile
parent082d8bb82bc478bdd0b1470232ba52976a0c035d (diff)
downloadst-patched-e0d0a2b96e84bba95f6f3e274131e3bbfb3a4f56.tar.bz2
st-patched-e0d0a2b96e84bba95f6f3e274131e3bbfb3a4f56.tar.xz
st-patched-e0d0a2b96e84bba95f6f3e274131e3bbfb3a4f56.zip
simplify Makefile
Due to consideration of POSIX compliance issues config.mk had to be removed. Configuration variables can be overridden by environment variables or specified via command line. Additionally all pretty-printed messages were removed and built-in rules are used. This also simplifies and purges the Makefile.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile83
1 files changed, 32 insertions, 51 deletions
diff --git a/Makefile b/Makefile
index 72154e9..0f74456 100644
--- a/Makefile
+++ b/Makefile
@@ -1,64 +1,45 @@
1# st - simple terminal 1# st - simple terminal
2# See LICENSE file for copyright and license details. 2# See LICENSE file for copyright and license details.
3 3
4include config.mk 4VERSION = 0.0
5 5
6SRC = st.c std.c pty.c 6PREFIX = /usr/local
7OBJ = ${SRC:.c=.o} 7MANDIR = $(PREFIX)/share/man
8 8
9all: options st std 9CFLAGS = -DVERSION=\"0.0\" -D_GNU_SOURCE
10 10
11options: 11all: st std
12 @echo st build options:
13 @echo "CFLAGS = ${CFLAGS}"
14 @echo "LDFLAGS = ${LDFLAGS}"
15 @echo "X11LDFLAGS = ${X11LDFLAGS}"
16 @echo "CC = ${CC}"
17
18.c.o:
19 @echo CC $<
20 @${CC} -c ${CFLAGS} $<
21
22${OBJ}: config.mk
23
24st: st.o
25 @echo CC -o $@
26 @${CC} -o $@ $^ ${LDFLAGS} ${X11LDFLAGS}
27
28std: std.o pty.o
29 @echo CC -o $@
30 @${CC} -o $@ $^ ${LDFLAGS}
31 12
32clean: 13clean:
33 @echo cleaning 14 rm -f st std
34 @rm -f st std ${OBJ} st-${VERSION}.tar.gz 15 rm -f st.o std.o
16 rm -f st-$(VERSION).tar.gz
35 17
36dist: clean 18dist: clean
37 @echo creating dist tarball 19 mkdir st-$(VERSION)
38 @mkdir -p st-${VERSION} 20 cp -f LICENSE README st-$(VERSION)
39 @cp -R LICENSE Makefile README config.mk \ 21 cp -f Makefile config.mk st-$(VERSION)
40 st.1 ${SRC} st-${VERSION} 22 cp -f st.1 std.1 st-$(VERSION)
41 @tar -cf st-${VERSION}.tar st-${VERSION} 23 cp -f st.c std.c st-$(VERSION)
42 @gzip st-${VERSION}.tar 24 tar -czf st-$(VERSION).tar st-$(VERSION)
43 @rm -rf st-${VERSION} 25 rm -rf st-$(VERSION)
44 26
45install: all 27install:
46 @echo installing executable file to ${DESTDIR}${PREFIX}/bin 28 mkdir -p $(DESTDIR)$(PREFIX)/bin
47 @mkdir -p ${DESTDIR}${PREFIX}/bin 29 cp -f st $(DESTDIR)$(PREFIX)/bin
48 @cp -f st ${DESTDIR}${PREFIX}/bin 30 cp -f std $(DESTDIR)$(PREFIX)/bin
49 @cp -f std ${DESTDIR}${PREFIX}/bin 31 chmod 755 $(DESTDIR)$(PREFIX)/bin/st
50 @chmod 755 ${DESTDIR}${PREFIX}/bin/st 32 chmod 755 $(DESTDIR)$(PREFIX)/bin/std
51 @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 33 mkdir -p $(DESTDIR)$(MANDIR)/man1
52 @mkdir -p ${DESTDIR}${MANPREFIX}/man1 34 sed 's/VERSION/$(VERSION)/g' < st.1 > $(DESTDIR)$(MANDIR)/man1/st.1
53 @sed "s/VERSION/${VERSION}/g" < st.1 > ${DESTDIR}${MANPREFIX}/man1/st.1 35 chmod 644 $(DESTDIR)$(MANDIR)/man1/st.1
54 @chmod 644 ${DESTDIR}${MANPREFIX}/man1/st.1 36 sed 's/VERSION/$(VERSION)/g' < std.1 > $(DESTDIR)$(MANDIR)/man1/std.1
55 @sed "s/VERSION/${VERSION}/g" < std.1 > ${DESTDIR}${MANPREFIX}/man1/std.1 37 chmod 644 $(DESTDIR)$(MANDIR)/man1/std.1
56 @chmod 644 ${DESTDIR}${MANPREFIX}/man1/std.1
57 38
58uninstall: 39uninstall:
59 @echo removing executable file from ${DESTDIR}${PREFIX}/bin 40 rm -f $(DESTDIR)$(PREFIX)/bin/st
60 @rm -f ${DESTDIR}${PREFIX}/bin/st 41 rm -f $(DESTDIR)$(PREFIX)/bin/std
61 @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 42 rm -f $(DESTDIR)$(MANDIR)/man1/st.1
62 @rm -f ${DESTDIR}${MANPREFIX}/man1/st.1 43 rm -f $(DESTDIR)$(MANDIR)/man1/std.1
63 44
64.PHONY: all options clean dist install uninstall 45.PHONY: all clean dist install uninstall