-# gridwm - grid window manager
+# dwm - dynamic window manager
# (C)opyright MMVI Anselm R. Garbe
include config.mk
-SRC = wm.c
-OBJ = ${SRC:.c=.o}
+SRC = client.c draw.c event.c main.c tag.c util.c view.c
+OBJ = ${SRC:.c=.o}
-all: gridwm
- @echo finished
+all: options dwm
+
+options:
+ @echo dwm build options:
+ @echo "CFLAGS = ${CFLAGS}"
+ @echo "LDFLAGS = ${LDFLAGS}"
+ @echo "CC = ${CC}"
+ @echo "LD = ${LD}"
.c.o:
@echo CC $<
@${CC} -c ${CFLAGS} $<
-${OBJ}: wm.h
+${OBJ}: dwm.h config.h config.mk
+
+config.h:
+ @echo creating $@ from config.default.h
+ @cp config.default.h $@
-gridwm: ${OBJ}
+dwm: ${OBJ}
@echo LD $@
- @${CC} -o $@ ${OBJ} ${X11LDFLAGS}
+ @${LD} -o $@ ${OBJ} ${LDFLAGS}
+ @strip $@
clean:
- rm -f gridwm *.o
+ @echo cleaning
+ @rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz
+
+dist: clean
+ @echo creating dist tarball
+ @mkdir -p dwm-${VERSION}
+ @cp -R LICENSE Makefile README config.*.h config.mk \
+ dwm.1 dwm.h ${SRC} dwm-${VERSION}
+ @tar -cf dwm-${VERSION}.tar dwm-${VERSION}
+ @gzip dwm-${VERSION}.tar
+ @rm -rf dwm-${VERSION}
+
+install: all
+ @echo installing executable file to ${DESTDIR}${PREFIX}/bin
+ @mkdir -p ${DESTDIR}${PREFIX}/bin
+ @cp -f dwm ${DESTDIR}${PREFIX}/bin
+ @chmod 755 ${DESTDIR}${PREFIX}/bin/dwm
+ @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
+ @mkdir -p ${DESTDIR}${MANPREFIX}/man1
+ @sed 's/VERSION/${VERSION}/g' < dwm.1 > ${DESTDIR}${MANPREFIX}/man1/dwm.1
+ @chmod 644 ${DESTDIR}${MANPREFIX}/man1/dwm.1
+
+uninstall:
+ @echo removing executable file from ${DESTDIR}${PREFIX}/bin
+ @rm -f ${DESTDIR}${PREFIX}/bin/dwm
+ @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
+ @rm -f ${DESTDIR}${MANPREFIX}/man1/dwm.1
+
+.PHONY: all options clean dist install uninstall