X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/8a34fa50f75f4d6d8af234ac0c4f6d40b988d700..bda53ac6ad834824e8e5d5678ccd638a122c173a:/Makefile

diff --git a/Makefile b/Makefile
index 1eb6c50..ad8ec08 100644
--- a/Makefile
+++ b/Makefile
@@ -1,55 +1,62 @@
-# gridwm - grid window manager
+# dwm - dynamic window manager
 #   (C)opyright MMVI Anselm R. Garbe
 
 include config.mk
 
-WMSRC = wm.c draw.c util.c
-WMOBJ = ${WMSRC:.c=.o}
-MAN = gridwm.1
-BIN = gridwm gridmenu     
+SRC = client.c draw.c event.c main.c tag.c util.c view.c
+OBJ = ${SRC:.c=.o}
 
-all: config gridwm
-	@echo finished
+all: options dwm
 
-config:
-	@echo gridwm build options:
-	@echo "LIBS     = ${LIBS}"
+options:
+	@echo dwm build options:
 	@echo "CFLAGS   = ${CFLAGS}"
 	@echo "LDFLAGS  = ${LDFLAGS}"
 	@echo "CC       = ${CC}"
+	@echo "LD       = ${LD}"
 
 .c.o:
 	@echo CC $<
 	@${CC} -c ${CFLAGS} $<
 
-${WMOBJ}: wm.h draw.h config.h
+${OBJ}: dwm.h config.h config.mk
 
-gridwm: ${WMOBJ}
+config.h:
+	@echo creating $@ from config.default.h
+	@cp config.default.h $@
+
+dwm: ${OBJ}
 	@echo LD $@
-	@${CC} -o $@ ${WMOBJ} ${LDFLAGS}
+	@${LD} -o $@ ${OBJ} ${LDFLAGS}
+	@strip $@
 
 clean:
-	rm -f gridwm *.o
+	@echo cleaning
+	@rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz
 
 dist: clean
-	mkdir -p gridwm-${VERSION}
-	cp -R Makefile README LICENSE config.mk ${WMSRC} ${MAN} gridwm-${VERSION}
-	tar -cf gridwm-${VERSION}.tar gridwm-${VERSION}
-	gzip gridwm-${VERSION}.tar
-	rm -rf gridwm-${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