diff --git a/Makefile b/Makefile index 1923e71..0c0f6ed 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,20 @@ include config.mk -KWLIT = kiwmi.lit -KWSRC = kiwmi.c +SRCPREFIX = src + +KWSRC := $(wildcard $(SRCPREFIX)/kiwmi/*.c) $(SRCPREFIX)/common.c +KWOBJ := $(KWSRC:.c=.o) KWTARGET = kiwmi -SELIT = seed.lit -SESRC = seed.c +SESRC := $(wildcard $(SRCPREFIX)/seed/*.c) $(SRCPREFIX)/common.c +SEOBJ := $(SESRC:.c=.o) SETARGET = seed SRC = $(KWSRC) $(SESRC) -DEPS = $(SRC:.c=.d) +OBJ = $(KWOBJ) $(SEOBJ) +DEPS = $(OBJ:.o=.d) TARGETS = $(KWTARGET) $(SETARGET) -VPATH = $(SRCPREFIX)/lit - ifeq ($(VERBOSE), 1) HIDE = else @@ -26,34 +27,20 @@ all: all-nodoc doc all-nodoc: $(TARGETS) -$(KWTARGET): $(KWSRC) +$(KWTARGET): $(KWOBJ) + @echo " [LD] $@..." + $(HIDE) $(LD) -o "$@" $^ $(LDFLAGS) + +$(SETARGET): $(SEOBJ) + @echo " [LD] $@..." + $(HIDE) $(LD) -o "$@" $^ $(LDFLAGS) + +.c.o: @echo " [CC] $@..." - $(HIDE) $(CC) -o "$@" "$<" $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) + $(HIDE) $(CC) -o "$@" "$<" -c $(CFLAGS) $(CPPFLAGS) -$(SETARGET): $(SESRC) - @echo " [CC] $@..." - $(HIDE) $(CC) -o "$@" "$<" $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +doc: -$(KWSRC): $(KWLIT) - @echo " [LIT] $@..." - $(HIDE) $(LIT) -t "$<" - -$(SESRC): $(SELIT) - @echo " [LIT] $@..." - $(HIDE) $(LIT) -t "$<" - -doc: books - -books: seed.html kiwmi.html - -kiwmi.html: $(KWLIT) - @echo " [LIT] $@..." - $(HIDE) $(LIT) -w "$<" - -seed.html: $(SELIT) - @echo " [LIT] $@..." - $(HIDE) $(LIT) -w "$<" - install: all misc/kiwmi.desktop install -Dm755 "$(KWTARGET)" "$(DESTDIR)$(BINPREFIX)/$(KWTARGET)" install -Dm755 "$(SETARGET)" "$(DESTDIR)$(BINPREFIX)/$(SETARGET)" @@ -70,11 +57,9 @@ uninstall: clean: @echo " [RM] $(DEPS)..." $(HIDE) $(RM) $(DEPS) - @echo " [RM] $(SRC)..." - $(HIDE) $(RM) $(SRC) + @echo " [RM] $(OBJ)..." + $(HIDE) $(RM) $(OBJ) @echo " [RM] $(TARGETS)..." $(HIDE) $(RM) $(TARGETS) - @echo " [RM] kiwmi.html seed.html..." - $(HIDE) $(RM) kiwmi.html seed.html -include $(DEPS) diff --git a/config.mk b/config.mk index 7b98d3d..987588b 100644 --- a/config.mk +++ b/config.mk @@ -5,11 +5,11 @@ BINPREFIX = $(PREFIX)/bin MANPREFIX = $(PREFIX)/share/man XSESSIONS = $(PREFIX)/share/xsessions -SRCPREFIX = . +CC = gcc +LD = $(CC) -CC = gcc -LIT = lit +INCS = -Isrc/ -CFLAGS = -std=c99 -Wall -Wextra -pedantic -Os -D_POSIX_C_SOURCE=2 +CFLAGS = -std=c99 -Wall -Wextra -pedantic -Os -D_POSIX_C_SOURCE=2 $(INCS) LDFLAGS = -lxcb CPPFLAGS = -MD -MP