-CFLAGS += -Wall -Wextra -O3
-__NAME__ = lariza
-__NAME_UPPERCASE__ = `echo $(__NAME__) | sed 's/.*/\U&/'`
-__NAME_CAPITALIZED__ = `echo $(__NAME__) | sed 's/^./\U&\E/'`
+CFLAGS += -Wall -Wextra -Wno-unused-parameter -O3
-$(__NAME__): browser.c
+prefix = /usr/local
+exec_prefix = $(prefix)
+bindir = $(exec_prefix)/bin
+libdir = $(exec_prefix)/lib
+datarootdir = $(prefix)/share
+mandir = $(datarootdir)/man/man1
+datadir = $(prefix)/share
+
+.PHONY: man lariza extensions clean uninstall install
+
+all: man lariza extensions darkreader
+
+man:
+ for i in man1/*.scd; do \
+ printf "SCDOC\t%s\n" $$i; \
+ scdoc < $$i > $$(echo "$$i" | rev | cut -f 2- -d '.' | rev); \
+ done
+
+lariza: browser.c
$(CC) $(CFLAGS) $(LDFLAGS) \
- -D__NAME__=\"$(__NAME__)\" \
- -D__NAME_UPPERCASE__=\"$(__NAME_UPPERCASE__)\" \
- -D__NAME_CAPITALIZED__=\"$(__NAME_CAPITALIZED__)\" \
+ -D__NAME__=\"lariza\" \
+ -D__NAME_UPPERCASE__=\"LARIZA\" \
-o $@ $< \
- `pkg-config --cflags --libs gtk+-2.0 glib-2.0 webkit-1.0`
+ `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__=\"lariza\" \
+ -D__NAME_UPPERCASE__=\"LARIZA\" \
+ -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)/lariza/web_extensions \
+ $(DESTDIR)$(datadir)/lariza/user-scripts
+
+ cp lariza $(DESTDIR)$(bindir)/lariza
+ cp man1/* $(DESTDIR)$(mandir)/
+ cp lariza.ini $(DESTDIR)/etc/lariza.ini
+ cp -r extensions/*.so $(DESTDIR)$(libdir)/lariza/web_extensions/
+ cp -r user-scripts/* $(DESTDIR)$(datadir)/lariza/user-scripts/
+
+uninstall:
+ rm -rf $(DESTDIR)$(bindir)/lariza \
+ $(DESTDIR)$(libdir)/lariza \
+ $(DESTDIR)$(man1dir)/lariza* \
+ $(DESTDIR)$(datadir)/lariza \
+ $(DESTDIR)/lariza.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 $(__NAME__)
+ rm -f lariza we_adblock.so