-CFLAGS += -Wall -Wextra -Wno-unused-parameter -O3
-__NAME__ = lariza
-__NAME_UPPERCASE__ = `echo $(__NAME__) | sed 's/.*/\U&/'`
-__NAME_CAPITALIZED__ = `echo $(__NAME__) | sed 's/^./\U&\E/'`
-
-.PHONY: all
-all: $(__NAME__) we_adblock.so
-
-$(__NAME__): browser.c
- $(CC) $(CFLAGS) $(LDFLAGS) \
- -D__NAME__=\"$(__NAME__)\" \
- -D__NAME_UPPERCASE__=\"$(__NAME_UPPERCASE__)\" \
- -D__NAME_CAPITALIZED__=\"$(__NAME_CAPITALIZED__)\" \
- -o $@ $< \
- `pkg-config --cflags --libs gtk+-3.0 glib-2.0 webkit2gtk-4.0`
-
-we_adblock.so: we_adblock.c
- $(CC) $(CFLAGS) $(LDFLAGS) \
- -D__NAME__=\"$(__NAME__)\" \
- -D__NAME_UPPERCASE__=\"$(__NAME_UPPERCASE__)\" \
- -D__NAME_CAPITALIZED__=\"$(__NAME_CAPITALIZED__)\" \
- -shared -o $@ -fPIC $< \
- `pkg-config --cflags --libs glib-2.0 webkit2gtk-4.0`
+CFLAGS += -Wno-unused-parameter -Wunknown-warning-option -D_XOPEN_SOURCE="700"
+LIBS = `pkg-config --cflags --libs gtk+-3.0 glib-2.0 webkit2gtk-4.0`
+EXTENSIONS = extensions/we_adblock
+PREFIX = /usr/local
+bindir = $(DESTDIR)$(PREFIX)/bin
+libdir = $(DESTDIR)$(PREFIX)/lib
+datadir = $(DESTDIR)$(PREFIX)/share
+mandir = $(DESTDIR)/$(PREFIX)/man
+
+.PHONY: chorizo clean uninstall install extensions update-darkreader
+
+all: chorizo
+
+chorizo:
+ $(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) -o chorizo *.c
+
+format:
+ for i in *.c *.h; do clang-format $$i > tmp; mv tmp $$i; done
+
+headers:
+ mv config.h tmp
+ rm chorizo.h
+ makeheaders -h *.[ch] > tmp2
+ mv tmp config.h
+ mv tmp2 chorizo.h
+
+$(EXTENSIONS):
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@.so -fPIC $@.c $(LIBS);
+
+extensions: $(EXTENSIONS)
+
+install: all
+ mkdir -p $(bindir) \
+ $(mandir)/man1 \
+ $(libdir)/chorizo/web-extensions \
+ $(datadir)/chorizo/user-scripts
+
+ cp chorizo $(bindir)/
+
+ cp chorizo.1 $(mandir)/man1/
+ makewhatis /usr/local/man
+
+ cp -r extensions/*.so $(libdir)/chorizo/web-extensions/
+ cp -r user-scripts/* $(datadir)/chorizo/user-scripts/
+
+uninstall:
+ rm -rf $(bindir)/chorizo \
+ $(libdir)/chorizo \
+ $(mandir)/man1/chorizo* \
+ $(datadir)/chorizo
+
+reinstall: uninstall install
+
+update-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__) we_adblock.so
+ rm -fv chorizo extensions/*.so