-WM=wmii
-
-SYS=x11
-CC=gcc
-PROG=awm
-CFLAGS=-g -Werror -Wall
-LIBS=-Wl,--as-needed -lX11 -lXinerama
-TEST=DISPLAY=:2.0
-
-WIN32=
-ifdef WIN32
-SYS=win32
-CC=i686-pc-mingw32-gcc
-CFLAGS=-g -Werror -Wall -D_NO_OLDNAMES
-LIBS=
-PROG=awm.exe
-TEST=cp -t /t/htdocs/temp
-endif
+# wmpus - cross platofrm window manager
+# See LICENSE file for copyright and license details.
+
+undefine CC
+
+-include config.mk
-test: $(PROG)
- $(TEST) ./$<
+VERSION ?= 0.1-p0
+WM ?= wmii
+SYS ?= x11
+CFLAGS ?= -g -Wall
+PREFIX ?= /usr/local
+MANPREFIX ?= ${PREFIX}/share/man
-debug: $(PROG)
- $(TEST) gdb ./$<
+ifeq ($(SYS),x11)
+CC ?= gcc
+PROG ?= wmpus
+LDFLAGS += -lX11 -lXinerama
+endif
-$(PROG): main.o util.o sys-$(SYS).o wm-$(WM).o
- $(CC) $(CFLAGS) -o $@ $+ $(LIBS)
+ifeq ($(SYS),win32)
+CC ?= i686-pc-mingw32-gcc
+PROG ?= wmpus.exe
+CFLAGS += -D_MODE_T_
+LDFLAGS += -lgdi32
+endif
-%.o: %.c $(wildcard *.h)
- $(CC) --std=gnu99 $(CFLAGS) -c -o $@ $<
+all: $(PROG)
clean:
- rm -f $(PROG) *.o
+ rm -f wmpus *.exe *.o
+
+dist:
+ tar -czf wmpus-$(VERSION).tar.gz --transform s::wmpus-$(VERSION)/: \
+ README LICENSE config.mk.example makefile *.1 *.c *.h
+
+install: all
+ install -m 755 -D $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG)
+ install -m 644 -D wmpus.1 $(DESTDIR)$(MANPREFIX)/man1/wmpus.1
+
+uninstall:
+ rm -f $(DESTDIR)$(PREFIX)/bin/$(PROG)
+ rm -f $(DESTDIR)$(MANPREFIX)/man1/wmpus.1
+
+$(PROG): main.o conf.o util.o sys-$(SYS).o wm-$(WM).o
+ $(CC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
+
+%.o: %.c $(wildcard *.h) makefile
+ $(CC) $(CFLAGS) --std=gnu99 -c -o $@ $<
+
+.PHONY: all clean dist install uninstall