Introduction
Introduction Statistics Contact Development Disclaimer Help
Makefile improvements - tabbed - tab interface for application supporting Xembed
git clone git://git.suckless.org/tabbed
Log
Files
Refs
README
LICENSE
---
commit deda1bb016b035f4387a09df8d81c1fc14eaf189
parent 13f13ee5827f082babb121f74ae23548bdd12dd8
Author: Hiltjo Posthuma <[email protected]>
Date: Fri, 14 Oct 2022 19:18:10 +0200
Makefile improvements
* Respect system cflags, ldflags, packages can override them all with
TABBED_{CFLAGS,LDFLAGS}. Remove -Wall and -Os and -s.
* Install README as documentation.
* dist: stream directly to a gzipped tarball.
* options: remove it.
* Add ".POSIX:"
* Remove config.mk
Diffstat:
M Makefile | 73 ++++++++++++++++++-----------…
M config.mk | 27 ++++++---------------------
2 files changed, 49 insertions(+), 51 deletions(-)
---
diff --git a/Makefile b/Makefile
@@ -1,56 +1,69 @@
-# tabbed - tabbing interface
-# See LICENSE file for copyright and license details.
+.POSIX:
-include config.mk
+NAME = tabbed
+VERSION = 0.7
+
+# paths
+PREFIX = /usr/local
+MANPREFIX = ${PREFIX}/share/man
+DOCPREFIX = ${PREFIX}/share/doc/${NAME}
+
+# use system flags.
+TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/include/freetype2 ${CFLAGS}
+TABBED_LDFLAGS = -L/usr/X11R6/lib -lX11 -lfontconfig -lXft ${LDFLAGS}
+TABBED_CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
+
+# OpenBSD (uncomment)
+#TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 ${CPPFLAG…
SRC = tabbed.c xembed.c
OBJ = ${SRC:.c=.o}
BIN = ${OBJ:.o=}
+MAN1 = ${BIN:=.1}
+HDR = arg.h config.def.h
+DOC = LICENSE README
-all: options ${BIN}
-
-options:
- @echo tabbed build options:
- @echo "CFLAGS = ${CFLAGS}"
- @echo "LDFLAGS = ${LDFLAGS}"
- @echo "CC = ${CC}"
+all: ${BIN}
.c.o:
- ${CC} -c ${CFLAGS} $<
+ ${CC} -o $@ -c $< ${TABBED_CFLAGS} ${TABBED_CPPFLAGS}
-${OBJ}: config.h config.mk
+${OBJ}: config.h
config.h:
cp config.def.h $@
.o:
- ${CC} -o $@ $< ${LDFLAGS}
+ ${CC} -o $@ $< ${TABBED_LDFLAGS}
clean:
- rm -f ${BIN} ${OBJ} tabbed-${VERSION}.tar.gz
+ rm -f ${BIN} ${OBJ} "${NAME}-${VERSION}.tar.gz"
dist: clean
- mkdir -p tabbed-${VERSION}
- cp -R LICENSE Makefile README config.def.h config.mk \
- tabbed.1 xembed.1 arg.h ${SRC} tabbed-${VERSION}
- tar -cf tabbed-${VERSION}.tar tabbed-${VERSION}
- gzip tabbed-${VERSION}.tar
- rm -rf tabbed-${VERSION}
+ mkdir -p "${NAME}-${VERSION}"
+ cp -fR Makefile ${MAN1} ${DOC} ${HDR} ${SRC} "${NAME}-${VERSION}"
+ tar -cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"
+ rm -rf ${NAME}-${VERSION}
install: all
+ # installing executable files.
mkdir -p "${DESTDIR}${PREFIX}/bin"
cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"
- chmod 755 "${DESTDIR}${PREFIX}/bin/tabbed"
+ for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done
+ # installing doc files.
+ mkdir -p "${DESTDIR}${DOCPREFIX}"
+ cp -f README "${DESTDIR}${DOCPREFIX}"
+ # installing manual pages for general commands: section 1.
mkdir -p "${DESTDIR}${MANPREFIX}/man1"
- sed "s/VERSION/${VERSION}/g" < tabbed.1 > "${DESTDIR}${MANPREFIX}/man1…
- chmod 644 "${DESTDIR}${MANPREFIX}/man1/tabbed.1"
- sed "s/VERSION/${VERSION}/g" < xembed.1 > "${DESTDIR}${MANPREFIX}/man1…
- chmod 644 "${DESTDIR}${MANPREFIX}/man1/xembed.1"
+ for m in ${MAN1}; do sed "s/VERSION/${VERSION}/g" < $$m > "${DESTDIR}$…
uninstall:
- rm -f "${DESTDIR}${PREFIX}/bin/tabbed"\
- "${DESTDIR}${PREFIX}/bin/xembed"\
- "${DESTDIR}${MANPREFIX}/man1/tabbed.1"\
- "${DESTDIR}${MANPREFIX}/man1/xembed.1"
+ # removing executable files.
+ for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done
+ # removing doc files.
+ rm -f "${DESTDIR}${DOCPREFIX}/README"
+ # removing manual pages.
+ for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done
+ -rmdir "${DESTDIR}${DOCPREFIX}"
-.PHONY: all options clean dist install uninstall
+.PHONY: all clean dist install uninstall
diff --git a/config.mk b/config.mk
@@ -1,27 +1,12 @@
-# tabbed version
-VERSION = 0.7
-
# paths
PREFIX = /usr/local
MANPREFIX = ${PREFIX}/share/man
+DOCPREFIX = ${PREFIX}/share/doc/${NAME}
-X11INC = /usr/X11R6/include
-X11LIB = /usr/X11R6/lib
+# use system flags.
+TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/include/freetype2 ${CPPFLAGS}
+TABBED_LDFLAGS = -L/usr/X11R6/lib -lX11 /usr/X11R6/lib ${LDFLAGS}
+TABBED_CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
-# freetype
-FREETYPELIBS = -lfontconfig -lXft
-FREETYPEINC = /usr/include/freetype2
# OpenBSD (uncomment)
-#FREETYPEINC = ${X11INC}/freetype2
-
-# includes and libs
-INCS = -I. -I/usr/include -I$(X11INC) -I${FREETYPEINC}
-LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${FREETYPELIBS}
-
-# flags
-CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
-CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
-LDFLAGS = -s ${LIBS}
-
-# compiler and linker
-CC = cc
+#TABBED_CFLAGS = -I/usr/X11R6/include -I/usr/X11R6/include/freetype2 ${CPPFLAG…
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.