From 29fa73d2f5013c9502934bc8252014a211d7f7a8 Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Fri, 30 Sep 2022 16:38:40 -0400 Subject: added major C improvements * use libinih to read config file * handle SIGPIPE gracefully (when a trayicon exits) * exit when both trayicons have exited I wanted to try using libini-config5 but it was not documented at all, and I need useful examples. --- experimental/Makefile | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) (limited to 'experimental/Makefile') diff --git a/experimental/Makefile b/experimental/Makefile index 2bb7fca..17c9660 100644 --- a/experimental/Makefile +++ b/experimental/Makefile @@ -20,39 +20,63 @@ CC = gcc CXXFLAGS = -g -std=c++17 -Wall -Weffc++ -Wextra -Wsign-conversion -Werror CCFLAGS = -g -Wno-deprecated-declarations \ `pkg-config --cflags x11` \ - `pkg-config --cflags gtk+-3.0` + `pkg-config --cflags gtk+-3.0` \ + `pkg-config --cflags inih` \ + $(DEBUGFLAGS) +CCFLAGS2 = -g -Wsign-conversion -Werror \ + `pkg-config --cflags inih` # to remove all debug symbols: -s # to add full debug symbols: -g LDFLAGS = -g \ `pkg-config --libs x11` \ - `pkg-config --libs gtk+-3.0` + `pkg-config --libs gtk+-3.0` \ + `pkg-config --libs inih` +LDFLAGS2 = -g \ + `pkg-config --libs inih` + +ifneq (,$(DEBUG)) +CCFLAGS+=-DDEBUG=1 +endif src = $(wildcard *.c) +src := $(filter-out readconf.c, $(src)) +#src2 = $(wildcard read*.c) obj = $(src:.c=.o) +#obj2 = $(src2:.c=.o) BUILD_DIR ?= . -OUTEXE = status +OUTEXE = keyboard-leds-trayicons +#OUTEXE2 = readconf -all: $(OUTEXE) +all: $(OUTEXE) $(OUTEXE2) +#all: $(OUTEXE) $(obj): +#$(obj2): + $(BUILD_DIR)/%.o: %.c $(CC) -c $(CCFLAGS) -o $@ $< +#$(BUILD_DIR)/readconf.o: readconf.c +# $(CC) -c $(CCFLAGS2) -o $@ $< + # link $(OUTEXE): $(obj) $(CC) -o $@ $^ $(LDFLAGS) +#$(OUTEXE2): $(obj2) +# $(CC) -o $@ $^ $(LDFLAGS2) + .PHONY: clean cleanall list list: @$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | ${awkbin} -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | ${sortbin} | ${grepbin} -E -v -e '^[^[:alnum:]]' -e '^$@$$' -e '\.(cp*|o)' clean: - rm -f $(obj) + rm -f $(obj) $(obj2) cleanall: - rm -f $(obj) $(OUTEXE) + rm -f $(obj) $(OUTEXE) $(obj2) $(OUTEXE2) -- cgit