about summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile47
1 files changed, 35 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index 25584c7..d794374 100644
--- a/Makefile
+++ b/Makefile
@@ -1,24 +1,47 @@
-# $OpenBSD$
-
-.include <bsd.xconf.mk>
+# cwm makefile for BSD make and GNU make
+# uses pkg-config, DESTDIR and PREFIX
 
 PROG=		cwm
 
+PREFIX=         /usr/local
+
 SRCS=		calmwm.c screen.c xmalloc.c client.c menu.c \
 		search.c util.c xutil.c conf.c xevents.c group.c \
 		kbfunc.c mousefunc.c parse.y
 
-CPPFLAGS+=	-I${X11BASE}/include -I${X11BASE}/include/freetype2 -I${.CURDIR}
+OBJS=		calmwm.o screen.o xmalloc.o client.o menu.o \
+		search.o util.o xutil.o conf.o xevents.o group.o \
+		kbfunc.o mousefunc.o strlcpy.o strlcat.o y.tab.o \
+		strtonum.o fgetln.o
+
+CPPFLAGS+=	`pkg-config --cflags fontconfig x11 xft xinerama xrandr`
+
+CFLAGS=		-Wall -O2 -g -D_GNU_SOURCE
+
+LDFLAGS+=	`pkg-config --libs fontconfig x11 xft xinerama xrandr`
+
+MANPREFIX=	${PREFIX}/share/man
+
+all: ${PROG}
+
+clean:
+	rm -f ${OBJS} ${PROG} y.tab.c
 
-CFLAGS+=	-Wall
+y.tab.c: parse.y
+	yacc parse.y
 
-LDADD+=		-L${X11BASE}/lib -lXft -lXrender -lX11 -lxcb -lXau -lXdmcp \
-		-lfontconfig -lexpat -lfreetype -lz -lXinerama -lXrandr -lXext
+${PROG}: ${OBJS} y.tab.o
+	${CC} ${OBJS} ${LDFLAGS} -o ${PROG}
 
-MANDIR=		${X11BASE}/man/man
-MAN=		cwm.1 cwmrc.5
+.c.o:
+	${CC} -c ${CFLAGS} ${CPPFLAGS} $<
 
-obj: _xenocara_obj
+install: ${PROG}
+	install -d ${DESTDIR}${PREFIX}/bin ${DESTDIR}${MANPREFIX}/man1 ${DESTDIR}${MANPREFIX}/man5
+	install -m 755 cwm ${DESTDIR}${PREFIX}/bin
+	install -m 644 cwm.1 ${DESTDIR}${MANPREFIX}/man1
+	install -m 644 cwmrc.5 ${DESTDIR}${MANPREFIX}/man5
 
-.include <bsd.prog.mk>
-.include <bsd.xorg.mk>
+release:
+	VERSION=$$(git describe --tags | sed 's/^v//;s/-[^.]*$$//') && \
+	git archive --prefix=cwm-$$VERSION/ -o cwm-$$VERSION.tar.gz HEAD