-wmiistatus: wmiistatus.c wmiistatus.h config.h config.c Makefile
- gcc -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -g -c -o wmiistatus.o wmiistatus.c
- gcc -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -g -c -o config.o config.c
- gcc -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -g -o wmiistatus *.o
+ifndef PREFIX
+ PREFIX=/usr
+endif
+ifndef SYSCONFDIR
+ ifeq ($(PREFIX),/usr)
+ SYSCONFDIR=/etc
+ else
+ SYSCONFDIR=$(PREFIX)/etc
+ endif
+endif
+
+CFLAGS+=-Wall -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare
+CFLAGS+=-g
+CFLAGS+=-std=gnu99
+CFLAGS+=-pedantic
+CPPFLAGS+=-DSYSCONFDIR=\"$(SYSCONFDIR)\"
+CPPFLAGS+=-DVERSION=\"${GIT_VERSION}\"
+CFLAGS+=-Iinclude
+LIBS+=-lconfuse
+
+VERSION:=$(shell git describe --tags --abbrev=0)
+GIT_VERSION:="$(shell git describe --tags --always) ($(shell git log --pretty=format:%cd --date=short -n1))"
+
+ifeq ($(shell uname),Linux)
+CPPFLAGS+=-DLINUX
+CPPFLAGS+=-D_GNU_SOURCE
+LIBS+=-liw
+LIBS+=-lasound
+endif
+
+ifeq ($(shell uname),GNU/kFreeBSD)
+LIBS+=-lbsd
+endif
+
+CFLAGS+=$(EXTRA_CFLAGS)
+
+OBJS:=$(wildcard src/*.c *.c)
+OBJS:=$(OBJS:.c=.o)
+
+src/%.o: src/%.c
+ @$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+ @echo " CC $<"
+
+%.o: %.c include/%.h
+ @$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+ @echo " CC $<"
+
+all: i3status manpage
+
+i3status: ${OBJS}
+ @$(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
+ @echo " LD $@"
+
+clean:
+ rm -f *.o src/*.o
+
+distclean: clean
+ rm -f i3status
+
+manpage:
+ $(MAKE) -C man