aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-02-22 14:57:02 +0100
committerMattias Andrée <m@maandree.se>2026-02-22 14:57:02 +0100
commitb18d4acc015fb9ff66969ac95a4d8e78bdfa43e2 (patch)
tree00620b1233219b876253b3e6715a8d062fa36573 /Makefile
parentUpdate-email (diff)
downloadxpybar-b18d4acc015fb9ff66969ac95a4d8e78bdfa43e2.tar.gz
xpybar-b18d4acc015fb9ff66969ac95a4d8e78bdfa43e2.tar.bz2
xpybar-b18d4acc015fb9ff66969ac95a4d8e78bdfa43e2.tar.xz
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile114
1 files changed, 55 insertions, 59 deletions
diff --git a/Makefile b/Makefile
index 021854e..6c9e60f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,35 +1,32 @@
-PREFIX = /usr
-BIN = /bin
-DATA = /share
-EXAMPLE = /share
-BINDIR = $(PREFIX)$(BIN)
-DATADIR = $(PREFIX)$(DATA)
+PREFIX = /usr
+BIN = /bin
+DATA = /share
+EXAMPLE = /share
+BINDIR = $(PREFIX)$(BIN)
+DATADIR = $(PREFIX)$(DATA)
EXAMPLEDIR = $(PREFIX)$(EXAMPLE)
-MANDIR = $(DATADIR)/man
-MAN1DIR = $(MANDIR)/man1
-INFODIR = $(DATADIR)/info
-DOCDIR = $(DATADIR)/doc
+MANDIR = $(DATADIR)/man
+MAN1DIR = $(MANDIR)/man1
+INFODIR = $(DATADIR)/info
+DOCDIR = $(DATADIR)/doc
LICENSEDIR = $(DATADIR)/licenses
PY3_SHEBANG = "/usr/bin/env python3"
+
+CC = c99
+MAKEINFO = makeinfo
+TEXI2DVI = texi2dvi
+
+CPPFLAGS =
+CFLAGS =
+LDFLAGS =
+
HDPARM_PATH = /usr/sbin/hdparm
-COMMAND = xpybar
-PKGNAME = xpybar
+COMMAND = xpybar
+PKGNAME = xpybar
PLUGIN_PATH = $(DATADIR)/$(PKGNAME)
-WARN = -Wall -Wextra -pedantic -Wdouble-promotion -Wformat=2 -Winit-self \
- -Wmissing-include-dirs -Wtrampolines -Wfloat-equal -Wshadow \
- -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls \
- -Wnested-externs -Winline -Wno-variadic-macros -Wsign-conversion \
- -Wswitch-default -Wconversion -Wsync-nand -Wunsafe-loop-optimizations \
- -Wcast-align -Wstrict-overflow -Wdeclaration-after-statement -Wundef \
- -Wbad-function-cast -Wcast-qual -Wwrite-strings -Wlogical-op \
- -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wpacked \
- -Wvector-operation-performance -Wunsuffixed-float-constants \
- -Wsuggest-attribute=const -Wsuggest-attribute=noreturn \
- -Wsuggest-attribute=pure -Wsuggest-attribute=format -Wnormalized=nfkc
-
SRC = __main__ util x
@@ -65,7 +62,7 @@ base: bin/xpybar bin/restricted-hdparm
bin/xpybar: obj/xpybar.zip
mkdir -p bin
echo "#!$(PY3_SHEBANG)" > $@
- cat $< >> $@
+ cat obj/xpybar.zip >> $@
chmod a+x $@
obj/xpybar.zip: $(foreach F,$(SRC),obj/$(F).py)
@@ -73,14 +70,14 @@ obj/xpybar.zip: $(foreach F,$(SRC),obj/$(F).py)
obj/%.py: src/%.py
mkdir -p obj
- cp $< $@
+ cp $< $@
sed -i "s:PLUGIN_PATH = None:PLUGIN_PATH = '$(PLUGIN_PATH)':g" $@
bin/restricted-hdparm: obj/restricted-hdparm.o
- $(CC) -std=c89 -Ofast $(WARN) -o $@ $^
+ $(CC) -o $@ obj/restricted-hdparm.o $(LFDLAGS)
obj/%.o: src/%.c
- $(CC) -std=c89 -Ofast $(WARN) -c -o $@ $< -D'HDPARM_PATH="$(HDPARM_PATH)"'
+ $(CC) -c -o $@ $< -D'HDPARM_PATH="$(HDPARM_PATH)"' $(CFLAGS) $(CPPFLAGS)
.PHONY: doc
doc: info pdf dvi ps
@@ -150,83 +147,83 @@ install-base: install-command install-license install-all-examples install-plugi
.PHONY: install-command
install-command: bin/xpybar bin/restricted-hdparm
- install -dm755 -- "$(DESTDIR)$(BINDIR)"
- install -m755 bin/xpybar -- "$(DESTDIR)$(BINDIR)/$(COMMAND)"
- install -m755 bin/restricted-hdparm -- "$(DESTDIR)$(BINDIR)/restricted-hdparm"
+ mkdir -p -- "$(DESTDIR)$(BINDIR)"
+ cp -f -- bin/xpybar "$(DESTDIR)$(BINDIR)/$(COMMAND)"
+ cp -f -- bin/restricted-hdparm "$(DESTDIR)$(BINDIR)/restricted-hdparm"
.PHONY: install-license
install-license: COPYING LICENSE.gpl3 LICENSE.agpl3
- install -dm755 -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
- install -m644 $^ -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
+ mkdir -p -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
+ cp -f -- COPYING LICENSE.gpl3 LICENSE.agpl3 "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)"
.PHONY: install-all-examples
install-all-examples: install-examples install-trick-examples install-plugin-examples
.PHONY: install-examples
install-examples: $(foreach F,$(EXAMPLES),examples/$(F))
- install -dm755 -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples"
- install -m644 $^ -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples"
+ mkdir -p -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples"
+ cp -f -- $^ "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples"
.PHONY: install-trick-examples
install-trick-examples: $(foreach F,$(TRICK_EXAMPLES),examples/tricks/$(F))
- install -dm755 -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/tricks"
- install -m644 $^ -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/tricks"
+ mkdir -p -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/tricks"
+ cp -f -- $^ "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/tricks"
.PHONY: install-plugin-examples
install-plugin-examples: $(foreach F,$(PLUGIN_EXAMPLES),examples/plugins/$(F))
- install -dm755 -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/plugins"
- install -m644 $^ -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/plugins"
+ mkdir -p -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/plugins"
+ cp -f -- $^ "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/examples/plugins"
.PHONY: install-plugins
install-plugins: $(foreach F,$(PLUGINS),src/plugins/$(F).py)
- install -dm755 -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/plugins"
- install -m644 $^ -- "$(DESTDIR)$(EXAMPLEDIR)/$(PKGNAME)/plugins"
+ mkdir -p -- "$(DESTDIR)$(DATADIR)/$(PKGNAME)/plugins"
+ cp -f -- $(foreach F,$(PLUGINS),src/plugins/$(F).py) "$(DESTDIR)$(DATADIR)/$(PKGNAME)/plugins"
.PHONY: install-doc
install-doc: install-info install-pdf install-dvi install-ps install-man
.PHONY: install-info
install-info: bin/xpybar.info
- install -dm755 -- "$(DESTDIR)$(INFODIR)"
- install -m644 $< -- "$(DESTDIR)$(INFODIR)/$(PKGNAME).info"
+ mkdir -p -- "$(DESTDIR)$(INFODIR)"
+ cp -f -- bin/xpybar.info "$(DESTDIR)$(INFODIR)/$(PKGNAME).info"
.PHONY: install-pdf
install-pdf: bin/xpybar.pdf
- install -dm755 -- "$(DESTDIR)$(DOCDIR)"
- install -m644 -- "$<" "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf"
+ mkdir -p -- "$(DESTDIR)$(DOCDIR)"
+ cp -- bin/xpybar.pdf "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf"
.PHONY: install-dvi
install-dvi: bin/xpybar.dvi
- install -dm755 -- "$(DESTDIR)$(DOCDIR)"
- install -m644 -- "$<" "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi"
+ mkdir -p -- "$(DESTDIR)$(DOCDIR)"
+ cp -- bin/xpybar.dvi "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi"
.PHONY: install-ps
install-ps: bin/xpybar.ps
- install -dm755 -- "$(DESTDIR)$(DOCDIR)"
- install -m644 -- "$<" "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps"
+ mkdir -p -- "$(DESTDIR)$(DOCDIR)"
+ cp -- bin/xpybar.ps "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps"
.PHONY: install-man
install-man: doc/man/xpybar.1
- install -dm755 -- "$(DESTDIR)$(MAN1DIR)"
- install -m644 $< -- "$(DESTDIR)$(MAN1DIR)/$(COMMAND).1"
+ mkdir -p -- "$(DESTDIR)$(MAN1DIR)"
+ cp -- doc/man/xpybar.1 "$(DESTDIR)$(MAN1DIR)/$(COMMAND).1"
.PHONY: install-shell
install-shell: install-bash install-fish install-zsh
.PHONY: install-bash
install-bash: bin/xpybar.bash-completion
- install -dm755 -- "$(DESTDIR)$(DATADIR)/bash-completion/completions"
- install -m644 $< -- "$(DESTDIR)$(DATADIR)/bash-completion/completions/$(COMMAND)"
+ mkdir -p -- "$(DESTDIR)$(DATADIR)/bash-completion/completions"
+ cp -- bin/xpybar.bash-completion "$(DESTDIR)$(DATADIR)/bash-completion/completions/$(COMMAND)"
.PHONY: install-fish
install-fish: bin/xpybar.fish-completion
- install -dm755 -- "$(DESTDIR)$(DATADIR)/fish/completions"
- install -m644 $< -- "$(DESTDIR)$(DATADIR)/fish/completions/$(COMMAND).fish"
+ mkdir -p -- "$(DESTDIR)$(DATADIR)/fish/completions"
+ cp -- bin/xpybar.fish-completion "$(DESTDIR)$(DATADIR)/fish/completions/$(COMMAND).fish"
.PHONY: install-zsh
install-zsh: bin/xpybar.zsh-completion
- install -dm755 -- "$(DESTDIR)$(DATADIR)/zsh/site-functions"
- install -m644 $< -- "$(DESTDIR)$(DATADIR)/zsh/site-functions/_$(COMMAND)"
+ mkdir -p -- "$(DESTDIR)$(DATADIR)/zsh/site-functions"
+ cp -- bin/xpybar.zsh-completion "$(DESTDIR)$(DATADIR)/zsh/site-functions/_$(COMMAND)"
@@ -261,5 +258,4 @@ uninstall:
.PHONY: clean
clean:
- -rm -r obj bin
-
+ -rm -rf -- obj bin