]> Pileus Git - wmpus/blobdiff - makefile
Add desktop files
[wmpus] / makefile
index ff5ded716d839d573c4237297245cf1ea5449b5f..caceac9e8de918f6ef00c6b0088efea6ea209d8f 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,29 +1,51 @@
-WM=wmii
+# wmpus - cross platofrm window manager
+# See LICENSE file for copyright and license details.
 
-#SYS=x11
-#CC=gcc
-#PROG=awm
-#CFLAGS=-g -Wall -Os
-#LIBS=-Wl,--as-needed -lX11
-#TEST=DISPLAY=:2.0
+-include config.mk
 
-SYS=win32
-CC=i686-pc-mingw32-gcc
-CFLAGS=-g -Wall
-PROG=awm.exe
-TEST=wine
+VERSION   ?= 0.1-rc1
+WM        ?= wmii
+SYS       ?= x11
+CFLAGS    ?= -g -Wall
+PREFIX    ?= /usr/local
+MANPREFIX ?= ${PREFIX}/share/man
 
-test: $(PROG)
-       $(TEST) ./$<
+ifeq ($(SYS),x11)
+GCC       ?= gcc
+PROG      ?= wmpus
+LDFLAGS   += -lX11 -lXinerama
+endif
 
-debug: $(PROG)
-       $(TEST) gdb ./$<
+ifeq ($(SYS),win32)
+GCC       ?= i486-mingw32-gcc
+PROG      ?= wmpus.exe
+LDFLAGS   += -lgdi32
+endif
 
-$(PROG): main.o util.o sys-$(SYS).o wm-$(WM).o
-       $(CC) $(CFLAGS) -o $@ $+ $(LIBS)
-
-%.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
+       sed -i 's:/usr.*:$(PREFIX)/bin/wmpus:' wmpus.session
+       install -m 755 -D $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG)
+       install -m 644 -D wmpus.1 $(DESTDIR)$(MANPREFIX)/man1/wmpus.1
+       install -m 755 -D wmpus.session $(DESTDIR)/etc/X11/Sessions/wmpus
+       install -m 644 -D wmpus.desktop $(DESTDIR)$(PREFIX)/share/xsessions/wmpus.desktop
+
+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
+       $(GCC) $(CFLAGS) -o $@ $+ $(LDFLAGS)
+
+%.o: %.c $(wildcard *.h) makefile
+       $(GCC) $(CFLAGS) --std=gnu99 -c -o $@ $<
+
+.PHONY: all clean dist install uninstall