aboutsummaryrefslogtreecommitdiff
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
commitdb20559694762cfdcf25682bfd6b73277dc4d6b5 (patch)
tree094f50c48cb0f2cc0a97e6912e90cfb3a907f201
parent76c66a3556c8acf58b97ba2220256b9e3b525506 (diff)
downloadst-db20559694762cfdcf25682bfd6b73277dc4d6b5.tar.gz
st-db20559694762cfdcf25682bfd6b73277dc4d6b5.tar.bz2
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.
-rw-r--r--Makefile83
-rw-r--r--config.mk34
2 files changed, 32 insertions, 85 deletions
diff --git a/Makefile b/Makefile
index 72154e9..0f74456 100644
--- a/Makefile
+++ b/Makefile
@@ -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
diff --git a/config.mk b/config.mk
deleted file mode 100644
index 4d76c67..0000000
--- a/config.mk
+++ /dev/null
@@ -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