diff options
author | Matthias-Christian Ott <ott@enolink.de> | 2008-07-21 17:06:59 +0200 |
---|---|---|
committer | Matthias-Christian Ott <ott@enolink.de> | 2008-07-21 17:06:59 +0200 |
commit | e0d0a2b96e84bba95f6f3e274131e3bbfb3a4f56 (patch) | |
tree | 094f50c48cb0f2cc0a97e6912e90cfb3a907f201 /Makefile | |
parent | 082d8bb82bc478bdd0b1470232ba52976a0c035d (diff) |
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-- | Makefile | 83 |
1 files changed, 32 insertions, 51 deletions
@@ -1,64 +1,45 @@ # st - simple terminal # See LICENSE file for copyright and license details. -include config.mk +VERSION = 0.0 -SRC = st.c std.c pty.c -OBJ = ${SRC:.c=.o} +PREFIX = /usr/local +MANDIR = $(PREFIX)/share/man -all: options st std +CFLAGS = -DVERSION=\"0.0\" -D_GNU_SOURCE -options: - @echo st build options: - @echo "CFLAGS = ${CFLAGS}" - @echo "LDFLAGS = ${LDFLAGS}" - @echo "X11LDFLAGS = ${X11LDFLAGS}" - @echo "CC = ${CC}" - -.c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< - -${OBJ}: config.mk - -st: st.o - @echo CC -o $@ - @${CC} -o $@ $^ ${LDFLAGS} ${X11LDFLAGS} - -std: std.o pty.o - @echo CC -o $@ - @${CC} -o $@ $^ ${LDFLAGS} +all: st std clean: - @echo cleaning - @rm -f st std ${OBJ} st-${VERSION}.tar.gz + rm -f st std + rm -f st.o std.o + rm -f st-$(VERSION).tar.gz dist: clean - @echo creating dist tarball - @mkdir -p st-${VERSION} - @cp -R LICENSE Makefile README config.mk \ - st.1 ${SRC} st-${VERSION} - @tar -cf st-${VERSION}.tar st-${VERSION} - @gzip st-${VERSION}.tar - @rm -rf st-${VERSION} - -install: all - @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f st ${DESTDIR}${PREFIX}/bin - @cp -f std ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/st - @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 - @mkdir -p ${DESTDIR}${MANPREFIX}/man1 - @sed "s/VERSION/${VERSION}/g" < st.1 > ${DESTDIR}${MANPREFIX}/man1/st.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/st.1 - @sed "s/VERSION/${VERSION}/g" < std.1 > ${DESTDIR}${MANPREFIX}/man1/std.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/std.1 + mkdir st-$(VERSION) + cp -f LICENSE README st-$(VERSION) + cp -f Makefile config.mk st-$(VERSION) + cp -f st.1 std.1 st-$(VERSION) + cp -f st.c std.c st-$(VERSION) + tar -czf st-$(VERSION).tar st-$(VERSION) + rm -rf st-$(VERSION) + +install: + mkdir -p $(DESTDIR)$(PREFIX)/bin + cp -f st $(DESTDIR)$(PREFIX)/bin + cp -f std $(DESTDIR)$(PREFIX)/bin + chmod 755 $(DESTDIR)$(PREFIX)/bin/st + chmod 755 $(DESTDIR)$(PREFIX)/bin/std + mkdir -p $(DESTDIR)$(MANDIR)/man1 + sed 's/VERSION/$(VERSION)/g' < st.1 > $(DESTDIR)$(MANDIR)/man1/st.1 + chmod 644 $(DESTDIR)$(MANDIR)/man1/st.1 + sed 's/VERSION/$(VERSION)/g' < std.1 > $(DESTDIR)$(MANDIR)/man1/std.1 + chmod 644 $(DESTDIR)$(MANDIR)/man1/std.1 uninstall: - @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/st - @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/st.1 + rm -f $(DESTDIR)$(PREFIX)/bin/st + rm -f $(DESTDIR)$(PREFIX)/bin/std + rm -f $(DESTDIR)$(MANDIR)/man1/st.1 + rm -f $(DESTDIR)$(MANDIR)/man1/std.1 -.PHONY: all options clean dist install uninstall +.PHONY: all clean dist install uninstall |