From 40aeb6bc598f6560640f15a6bb947f3948587f71 Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Sat, 14 May 2022 20:14:22 +0200 Subject: [PATCH] Use config.def.h instead of config.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since config.h is destined to be modified by the end-user, I think it is better to adopt what suckless usually does and move config.h to config.def.h. This file is sort of a template from which the end-user can build their own config.h that won’t be tracked by git. If config.h doesn’t exist at compile-time, the makefile will automatically copy it from the template. --- .gitignore | 1 + config.h => config.def.h | 0 makefile | 15 ++++++++++++--- 3 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 .gitignore rename config.h => config.def.h (100%) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..18e58a7 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/config.h 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 9c3aed4..404410a 100644 --- a/makefile +++ b/makefile @@ -1,3 +1,4 @@ +# -*- indent-tabs-mode: t -*- CC = cc CFLAGS = `pkg-config --cflags gtk4 webkit2gtk-5.0 x11` LIBS = `pkg-config --libs gtk4 webkit2gtk-5.0 x11` @@ -18,10 +19,15 @@ OPTIONS = -Dgtk_doc=false -Dintrospection=false \ PREFIX=/usr/local -all: +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 cp -f ./rose $(PREFIX)/bin/rose cp -f ./scripts/dmenu_rose.sh $(PREFIX)/bin/dmenu_rose @@ -32,8 +38,11 @@ uninstall: clean: rm -f rose compile_flags.txt +clean-all: clean + rm -f config.h + flags: echo $(CFLAGS) | sed 's/ /\n/g' > compile_flags.txt -.PHONY: all clean install uninstall flags -.SILENT: all clean install uninstall flags +.PHONY: all clean clean-all install uninstall flags config.h +.SILENT: all clean clean-all install uninstall flags config.h