-CFLAGS += -Wall -Wextra -O3
+CFLAGS += -Wall -Wextra -Wno-unused-parameter -O3
-sn: sn.c
+prefix = /usr/local
+exec_prefix = $(prefix)
+bindir = $(exec_prefix)/bin
+libdir = $(exec_prefix)/lib
+datarootdir = $(prefix)/share
+mandir = $(datarootdir)/man
+datadir = $(prefix)/share
+
+.PHONY: man clean uninstall install extensions
+
+all: man chorizo extensions darkreader
+
+man:
+ for i in man/*.scd; do \
+ printf "SCDOC\t%s\n" $$i; \
+ scdoc < $$i > $$(echo "$$i" | rev | cut -f 2- -d '.' | rev); \
+ done
+
+chorizo:
$(CC) $(CFLAGS) $(LDFLAGS) \
- -o $@ $< \
- `pkg-config --cflags --libs gtk+-3.0 webkitgtk-3.0`
+ -D__NAME__=\"chorizo\" \
+ -D__NAME_UPPERCASE__=\"CHORIZO\" \
+ -DVERSION=\"v21.01\" \
+ -o chorizo src/*.c \
+ `pkg-config --cflags --libs gtk+-3.0 glib-2.0 webkit2gtk-4.0`
+
+extensions:
+ for i in extensions/*.c; do \
+ outp=$$(echo "$$i" | sed 's/\$\.c/.so/g'); \
+ $(CC) $(CFLAGS) $(LDFLAGS) \
+ -D__NAME__=\"chorizo\" \
+ -D__NAME_UPPERCASE__=\"CHORIZO\" \
+ -shared -o $$outp -fPIC $$i \
+ `pkg-config --cflags --libs glib-2.0 webkit2gtk-4.0`; \
+ done
+
+install: all
+ mkdir -p $(DESTDIR)$(bindir) \
+ $(DESTDIR)$(mandir) \
+ $(DESTDIR)$(libdir)/chorizo/web_extensions \
+ $(DESTDIR)$(datadir)/chorizo/user-scripts
+
+ cp chorizo $(DESTDIR)$(bindir)/chorizo
+ cp man/*.1 $(DESTDIR)$(mandir)/man1/
+ cp man/*.5 $(DESTDIR)$(mandir)/man5/
+ cp chorizo.ini $(DESTDIR)/etc/chorizo.ini
+ cp -r extensions/*.so $(DESTDIR)$(libdir)/chorizo/web_extensions/
+ cp -r user-scripts/* $(DESTDIR)$(datadir)/chorizo/user-scripts/
+
+uninstall:
+ rm -rf $(DESTDIR)$(bindir)/chorizo \
+ $(DESTDIR)$(libdir)/chorizo \
+ $(DESTDIR)$(mandir)/man1/chorizo* \
+ $(DESTDIR)$(mandir)/man5/chorizo* \
+ $(DESTDIR)$(datadir)/chorizo \
+ $(DESTDIR)/chorizo.ini
+
+reinstall: uninstall install
+
+darkreader:
+ curl -L "https://cdn.jsdelivr.net/npm/darkreader/darkreader.min.js" \
+ -o user-scripts/darkreader.js
+ echo >> user-scripts/darkreader.js
+ echo 'DarkReader.enable({brightness:100,contrast:100,sepia:0});' \
+ >> user-scripts/darkreader.js
clean:
- rm -f sn
+ rm -fv chorizo \
+ extensions/*.so \
+ man/*.1 \
+ man/*.5 \
+ user-scripts/darkreader.js