Makefile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # dwm - dynamic window manager
  2. include config.mk
  3. SRC = dwm.c
  4. OBJ = ${SRC:.c=.o}
  5. all: options dwm
  6. options:
  7. @echo dwm build options:
  8. @echo "CFLAGS = ${CFLAGS}"
  9. @echo "LDFLAGS = ${LDFLAGS}"
  10. @echo "CC = ${CC}"
  11. .c.o:
  12. @echo CC $<
  13. @${CC} -c ${CFLAGS} $<
  14. ${OBJ}: config.h config.mk
  15. config.h:
  16. @echo creating $@ from config.def.h
  17. @cp config.def.h $@
  18. dwm: ${OBJ}
  19. @echo CC -o $@
  20. @${CC} -o $@ ${OBJ} ${LDFLAGS}
  21. clean:
  22. @echo cleaning
  23. @rm -f dwm ${OBJ} dwm-${VERSION}.tar.gz
  24. dist: clean
  25. @echo creating dist tarball
  26. @mkdir -p dwm-${VERSION}
  27. @cp -R LICENSE Makefile README config.def.h config.mk \
  28. dwm.1 ${SRC} dwm-${VERSION}
  29. @tar -cf dwm-${VERSION}.tar dwm-${VERSION}
  30. @gzip dwm-${VERSION}.tar
  31. @rm -rf dwm-${VERSION}
  32. install: all
  33. @echo installing executable file to ${DESTDIR}${PREFIX}/bin
  34. @mkdir -p ${DESTDIR}${PREFIX}/bin
  35. @cp -f dwm ${DESTDIR}${PREFIX}/bin
  36. @chmod 755 ${DESTDIR}${PREFIX}/bin/dwm
  37. @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
  38. @mkdir -p ${DESTDIR}${MANPREFIX}/man1
  39. @sed "s/VERSION/${VERSION}/g" < dwm.1 > ${DESTDIR}${MANPREFIX}/man1/dwm.1
  40. @chmod 644 ${DESTDIR}${MANPREFIX}/man1/dwm.1
  41. uninstall:
  42. @echo removing executable file from ${DESTDIR}${PREFIX}/bin
  43. @rm -f ${DESTDIR}${PREFIX}/bin/dwm
  44. @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1
  45. @rm -f ${DESTDIR}${MANPREFIX}/man1/dwm.1
  46. .PHONY: all options clean dist install uninstall