tsimplify Makefile - st - [fork] customized build of st, the simple terminal | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit e0d0a2b96e84bba95f6f3e274131e3bbfb3a4f56 | |
parent 082d8bb82bc478bdd0b1470232ba52976a0c035d | |
Author: Matthias-Christian Ott <[email protected]> | |
Date: Mon, 21 Jul 2008 17:06:59 +0200 | |
simplify Makefile | |
Due to consideration of POSIX compliance issues config.mk had | |
tto 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 | |
tthe Makefile. | |
Diffstat: | |
M Makefile | 83 ++++++++++++-----------------… | |
D config.mk | 34 -----------------------------… | |
2 files changed, 32 insertions(+), 85 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
t@@ -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/st… | |
- @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 | |
diff --git a/config.mk b/config.mk | |
t@@ -1,34 +0,0 @@ | |
-# st version | |
-VERSION = 0.0 | |
- | |
-# Customize below to fit your system | |
- | |
-# paths | |
-PREFIX = /usr/local | |
-MANPREFIX = ${PREFIX}/share/man | |
- | |
-X11INC = /usr/X11R6/include | |
-X11LIB = /usr/X11R6/lib | |
- | |
-# includes and libs | |
-INCS = -I. -I/usr/include -I${X11INC} | |
-LIBS = -L/usr/lib -lc | |
-X11LIBS = -L${X11LIB} -lX11 | |
- | |
-# glibc | |
-CPPFLAGS = -DVERSION=\"${VERSION}\" -D_GNU_SOURCE | |
- | |
-# flags | |
-#CPPFLAGS = -DVERSION=\"${VERSION}\" | |
-CFLAGS = -Os ${INCS} ${CPPFLAGS} | |
-LDFLAGS = -s ${LIBS} | |
-X11LDFLAGS = ${X11LIBS} | |
-#CFLAGS = -g -std=c99 -pedantic -Wall -O2 ${INCS} ${CPPFLAGS} | |
-#LDFLAGS = -g ${LIBS} | |
- | |
-# Solaris | |
-#CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\" | |
-#LDFLAGS = ${LIBS} | |
- | |
-# compiler and linker | |
-CC = cc |