X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/44f2e8b952264311887c3b51dc6a987af226062a..78666b99b8dedb57f1dea53931a334c151dea865:/Makefile

diff --git a/Makefile b/Makefile
index 41bc879..2c015b9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,15 @@
 # dwm - dynamic window manager
-#   (C)opyright MMVI Anselm R. Garbe
+#   (C)opyright MMVI-MMVII Anselm R. Garbe
 
 include config.mk
 
-SRC = client.c dev.c draw.c event.c util.c wm.c
+SRC = client.c draw.c event.c layout.c main.c tag.c util.c
 OBJ = ${SRC:.c=.o}
-MAN1 = dwm.1 
-BIN = dwm
 
-all: config dwm
-	@echo finished
+all: options dwm
 
-config:
+options:
 	@echo dwm build options:
-	@echo "LIBS     = ${LIBS}"
 	@echo "CFLAGS   = ${CFLAGS}"
 	@echo "LDFLAGS  = ${LDFLAGS}"
 	@echo "CC       = ${CC}"
@@ -22,34 +18,44 @@ config:
 	@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 $@
 
 dwm: ${OBJ}
-	@echo LD $@
+	@echo CC -o $@
 	@${CC} -o $@ ${OBJ} ${LDFLAGS}
+	@strip $@
 
 clean:
-	rm -f dwm *.o core
+	@echo cleaning
+	@rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz
 
 dist: clean
-	mkdir -p dwm-${VERSION}
-	cp -R Makefile README LICENSE config.mk *.h *.c ${MAN} dwm-${VERSION}
-	tar -cf dwm-${VERSION}.tar dwm-${VERSION}
-	gzip dwm-${VERSION}.tar
-	rm -rf dwm-${VERSION}
+	@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 ${BIN} ${DESTDIR}${PREFIX}/bin
-	@echo installed executable files to ${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
-	@cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1
-	@echo installed manual pages to ${DESTDIR}${MANPREFIX}/man1
+	@sed "s/VERSION/${VERSION}/g" < dwm.1 > ${DESTDIR}${MANPREFIX}/man1/dwm.1
+	@chmod 644 ${DESTDIR}${MANPREFIX}/man1/dwm.1
 
 uninstall:
-	for i in ${BIN}; do \
-		rm -f ${DESTDIR}${PREFIX}/bin/`basename $$i`; \
-	done
-	for i in ${MAN1}; do \
-		rm -f ${DESTDIR}${MANPREFIX}/man1/`basename $$i`; \
-	done
+	@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