Makefile 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. # See LICENSE file for copyright and license details
  2. # slstatus - suckless status monitor
  3. .POSIX:
  4. include config.mk
  5. REQ = util
  6. COM =\
  7. components/battery\
  8. components/cpu\
  9. components/datetime\
  10. components/disk\
  11. components/entropy\
  12. components/hostname\
  13. components/ip\
  14. components/kernel_release\
  15. components/keyboard_indicators\
  16. components/keymap\
  17. components/load_avg\
  18. components/netspeeds\
  19. components/num_files\
  20. components/ram\
  21. components/run_command\
  22. components/swap\
  23. components/temperature\
  24. components/uptime\
  25. components/user\
  26. components/volume\
  27. components/wifi
  28. all: slstatus
  29. components/battery.o: components/battery.c config.mk $(REQ:=.h)
  30. components/cpu.o: components/cpu.c config.mk $(REQ:=.h)
  31. components/datetime.o: components/datetime.c config.mk $(REQ:=.h)
  32. components/disk.o: components/disk.c config.mk $(REQ:=.h)
  33. components/entropy.o: components/entropy.c config.mk $(REQ:=.h)
  34. components/hostname.o: components/hostname.c config.mk $(REQ:=.h)
  35. components/ip.o: components/ip.c config.mk $(REQ:=.h)
  36. components/kernel_release.o: components/kernel_release.c config.mk $(REQ:=.h)
  37. components/keyboard_indicators.o: components/keyboard_indicators.c config.mk $(REQ:=.h)
  38. components/keymap.o: components/keymap.c config.mk $(REQ:=.h)
  39. components/load_avg.o: components/load_avg.c config.mk $(REQ:=.h)
  40. components/netspeeds.o: components/netspeeds.c config.mk $(REQ:=.h)
  41. components/num_files.o: components/num_files.c config.mk $(REQ:=.h)
  42. components/ram.o: components/ram.c config.mk $(REQ:=.h)
  43. components/run_command.o: components/run_command.c config.mk $(REQ:=.h)
  44. components/swap.o: components/swap.c config.mk $(REQ:=.h)
  45. components/temperature.o: components/temperature.c config.mk $(REQ:=.h)
  46. components/uptime.o: components/uptime.c config.mk $(REQ:=.h)
  47. components/user.o: components/user.c config.mk $(REQ:=.h)
  48. components/volume.o: components/volume.c config.mk $(REQ:=.h)
  49. components/wifi.o: components/wifi.c config.mk $(REQ:=.h)
  50. slstatus.o: slstatus.c slstatus.h arg.h config.h config.mk $(REQ:=.h)
  51. .c.o:
  52. $(CC) -o $@ -c $(CPPFLAGS) $(CFLAGS) $<
  53. config.h:
  54. cp config.def.h $@
  55. slstatus: slstatus.o $(COM:=.o) $(REQ:=.o)
  56. $(CC) -o $@ $(LDFLAGS) $(COM:=.o) $(REQ:=.o) slstatus.o $(LDLIBS)
  57. clean:
  58. rm -f slstatus slstatus.o $(COM:=.o) $(REQ:=.o)
  59. dist:
  60. rm -rf "slstatus-$(VERSION)"
  61. mkdir -p "slstatus-$(VERSION)/components"
  62. cp -R LICENSE Makefile README config.mk config.def.h \
  63. arg.h slstatus.c $(COM:=.c) $(REQ:=.c) $(REQ:=.h) \
  64. slstatus.1 "slstatus-$(VERSION)"
  65. tar -cf - "slstatus-$(VERSION)" | gzip -c > "slstatus-$(VERSION).tar.gz"
  66. rm -rf "slstatus-$(VERSION)"
  67. install: all
  68. mkdir -p "$(DESTDIR)$(PREFIX)/bin"
  69. cp -f slstatus "$(DESTDIR)$(PREFIX)/bin"
  70. chmod 755 "$(DESTDIR)$(PREFIX)/bin/slstatus"
  71. mkdir -p "$(DESTDIR)$(MANPREFIX)/man1"
  72. cp -f slstatus.1 "$(DESTDIR)$(MANPREFIX)/man1"
  73. chmod 644 "$(DESTDIR)$(MANPREFIX)/man1/slstatus.1"
  74. uninstall:
  75. rm -f "$(DESTDIR)$(PREFIX)/bin/slstatus"
  76. rm -f "$(DESTDIR)$(MANPREFIX)/man1/slstatus.1"