Introduction
Introduction Statistics Contact Development Disclaimer Help
improve Makefile - xscreenshot - screen capture tool
git clone git://git.codemadness.org/xscreenshot
Log
Files
Refs
README
LICENSE
---
commit a61ce36c878f7bd110fa7c0753efa4d12fbb6304
parent 7b7a88a34cf8da48cd07a87357e65cfd54befcaa
Author: Hiltjo Posthuma <[email protected]>
Date: Wed, 4 Mar 2020 00:40:39 +0100
improve Makefile
- rm config.mk
- just be verbose.
- fix 'dist' target.
- remove 'options' target.
- change man page location to OpenBSD it's location by default.
- respect system CFLAGS/LDFLAGS asmuch as possible by default.
Diffstat:
M Makefile | 75 +++++++++++++++++++----------…
D config.mk | 28 ----------------------------
2 files changed, 47 insertions(+), 56 deletions(-)
---
diff --git a/Makefile b/Makefile
@@ -1,42 +1,61 @@
-include config.mk
+.POSIX:
NAME = xscreenshot
-SRC = xscreenshot.c
-OBJ = ${SRC:.c=.o}
+VERSION = 1.0
-all: xscreenshot
+# paths
+PREFIX = /usr/local
+MANPREFIX = ${PREFIX}/man
-options:
- @echo ${NAME} build options:
- @echo "CFLAGS = ${CFLAGS}"
- @echo "LDFLAGS = ${LDFLAGS}"
- @echo "CC = ${CC}"
+INCS = -I/usr/X11R6/include
+LIBS = -L/usr/X11R6/lib -lX11
-.c.o:
- ${CC} -c ${CFLAGS} $<
+# use system flags.
+XSCREENSHOT_CFLAGS = ${CFLAGS} ${INCS}
+XSCREENSHOT_LDFLAGS = ${LDFLAGS} ${LIBS}
+XSCREENSHOT_CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE
+
+BIN = ${NAME}
+SRC = ${BIN:=.c}
+MAN1 = ${BIN:=.1}
+OBJ = ${SRC:.c=.o}
+DOC = \
+ LICENSE\
+ README
-${OBJ}: config.mk
+all: ${BIN}
-xscreenshot: xscreenshot.o
- ${CC} -o $@ xscreenshot.o ${LDFLAGS}
+${OBJ}:
+
+.o:
+ ${CC} ${XSCREENSHOT_LDFLAGS} -o $@ $<
+
+.c.o:
+ ${CC} ${XSCREENSHOT_CFLAGS} ${XSCREENSHOT_CPPFLAGS} -o $@ -c $<
+
+dist:
+ rm -rf "${NAME}-${VERSION}"
+ mkdir -p "${NAME}-${VERSION}"
+ cp -f ${MAN1} ${DOC} ${SRC} Makefile \
+ "${NAME}-${VERSION}"
+ # make tarball
+ tar -cf - "${NAME}-${VERSION}" | \
+ gzip -c > "${NAME}-${VERSION}.tar.gz"
+ rm -rf "${NAME}-${VERSION}"
clean:
- rm -f xscreenshot ${OBJ}
+ rm -f ${BIN} ${OBJ}
install: all
- @echo installing executable file to ${DESTDIR}${PREFIX}/bin
- @mkdir -p ${DESTDIR}${PREFIX}/bin
- @cp -f xscreenshot ${DESTDIR}${PREFIX}/bin
- @chmod 755 ${DESTDIR}${PREFIX}/bin/xscreenshot
- @echo installing manual pages to ${DESTDIR}${MANPREFIX}/man1
- @mkdir -p ${DESTDIR}${MANPREFIX}/man1
- @cp -f xscreenshot.1 ${DESTDIR}${MANPREFIX}/man1
- @chmod 644 ${DESTDIR}${MANPREFIX}/man1/xscreenshot.1
+ mkdir -p ${DESTDIR}${PREFIX}/bin
+ cp -f ${BIN} ${DESTDIR}${PREFIX}/bin
+ chmod 755 ${DESTDIR}${PREFIX}/bin/xscreenshot
+ mkdir -p ${DESTDIR}${MANPREFIX}/man1
+ cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1
+ chmod 644 ${DESTDIR}${MANPREFIX}/man1/xscreenshot.1
uninstall:
- @echo removing executable file from ${DESTDIR}${PREFIX}/bin
- @rm -f ${DESTDIR}${PREFIX}/bin/xscreenshot
- @echo removing manual pages from ${DESTDIR}${MANPREFIX}/man1
- @rm -f ${DESTDIR}${MANPREFIX}/man1/xscreenshot.1
+ rm -f ${DESTDIR}${PREFIX}/bin/xscreenshot
+ rm -f ${DESTDIR}${MANPREFIX}/man1/xscreenshot.1
-.PHONY: all options clean dist install uninstall
+.PHONY: all clean dist install uninstall
diff --git a/config.mk b/config.mk
@@ -1,28 +0,0 @@
-VERSION = 1.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${X11INC}
-LIBS = -L${X11LIB} -lX11
-
-# flags
-CPPFLAGS = -DVERSION=\"${VERSION}\"
-
-# debug
-CFLAGS = -O0 -g -std=c99 -Wall -pedantic -D_DEFAULT_SOURCE -D_BSD_SOURCE ${INC…
-LDFLAGS = ${LIBS}
-
-# optimized
-#CFLAGS = -O2 -std=c99 -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE -D_BSD_SOURC…
-#LDFLAGS = -s ${LIBS}
-
-# compiler and linker
-CC = cc
You are viewing proxied material from codemadness.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.