diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..4be7de2 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = tab +charset = utf-8 +end_of_line = lf +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +charset = utf-8 +trim_trailing_whitespace = true diff --git a/.gitignore b/.gitignore index d2a4e55..d935e4c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ compile_commands.json rose .cache/ +/config.h \ No newline at end of file diff --git a/config.h b/config.def.h similarity index 100% rename from config.h rename to config.def.h diff --git a/makefile b/makefile index 67c2049..9e6a17f 100644 --- a/makefile +++ b/makefile @@ -1,4 +1,5 @@ -CC = clang +# -*- indent-tabs-mode: t -*- +CC ?= cc CFLAGS = `pkg-config --cflags gtk4 webkit2gtk-5.0 x11` LIBS = `pkg-config --libs gtk4 webkit2gtk-5.0 x11` OPTIONS = -Dgtk_doc=false -Dintrospection=false \ @@ -16,19 +17,32 @@ OPTIONS = -Dgtk_doc=false -Dintrospection=false \ -Db_coverage=false \ -Ddebug=false +PREFIX ?= /usr/local -all: - ${CC} -fPIC -O3 -o rose *.c $(CFLAGS) $(LIBS) $(OPTIONS) +all: config.h rose + +rose: + $(CC) -fPIC -O3 -o rose *.c $(CFLAGS) $(LIBS) $(OPTIONS) strip ./rose +config.h: + [ -f "$@" ] || cp config.def.h $@ + install: all - su -c "cp -f ./rose /usr/local/bin/rose && \ - cp -f ./scripts/dmenu_rose.sh /usr/local/bin/dmenu_rose" + cp -f ./rose $(PREFIX)/bin/rose + cp -f ./scripts/dmenu_rose.sh $(PREFIX)/bin/dmenu_rose + +uninstall: + rm -f $(PREFIX)/bin/rose $(PREFIX)/bin/dmenu_rose clean: rm -f rose compile_flags.txt +clean-all: clean + rm -f config.h + flags: echo $(CFLAGS) | sed 's/ /\n/g' > compile_flags.txt -.SILENT: all clean install flags +.PHONY: all clean clean-all install uninstall flags config.h +.SILENT: all clean clean-all install uninstall flags config.h