Fix Alt+Tab to fixed windows
[evilwm.git] / Makefile
blob5c5191388f98b970a3c9cb473103e7ae2a46249e
1 # If you don't use CC
2 CC = gcc
4 # Edit this line if you don't want evilwm to install under /usr.
5 # Note that $(DESTDIR) is used by the Debian build process.
6 prefix = $(DESTDIR)/usr
8 INSTALL = install
9 INSTALL_STRIP = -s
10 INSTALL_DIR = $(INSTALL) -d -m 0755
11 INSTALL_FILE = $(INSTALL) -m 0644
12 INSTALL_PROGRAM = $(INSTALL) -m 0755 $(INSTALL_STRIP)
14 XROOT = /usr/X11R6
15 INCLUDES = -I$(XROOT)/include
16 LDPATH = -L$(XROOT)/lib
17 LIBS = -lX11
19 DEFINES = $(EXTRA_DEFINES)
20 # Configure evilwm by editing the following DEFINES lines. You can also
21 # add options by setting EXTRA_DEFINES on the make(1) command line,
22 # e.g., make EXTRA_DEFINES="-DDEBUG".
24 # Uncomment to enable solid window drags. This can be slow on old systems.
25 DEFINES += -DSOLIDDRAG
26 # Enable a more informative and clear banner to be displayed on Ctrl+Alt+I.
27 DEFINES += -DINFOBANNER
28 # Uncomment to show the same banner on moves and resizes. Note this can
29 # make things very SLOW!
30 #DEFINES += -DINFOBANNER_MOVERESIZE
32 # To support virtual desktops, uncomment the following line.
33 DEFINES += -DVWM
35 # To support shaped windows properly, uncomment the following two lines:
36 DEFINES += -DSHAPE
37 LIBS += -lXext
39 # Uncomment to support the Xrandr extension (thanks, Yura Semashko).
41 # Be sure that libXrandr is in your library search directory (e.g., under
42 # Solaris, it is in /usr/X11R6/lib, so can be built against with the default
43 # XPATH above, but won't necessarily be in the library search path).
44 DEFINES += -DRANDR
45 LIBS += -lXrandr
47 # Uncomment for mouse support. You probably want this.
48 DEFINES += -DMOUSE
50 # Uncomment to compile in certain text messages like help. You want this too
51 # unless you *really* want to trim the bytes.
52 # Note that snprintf(3) is always part of the build.
53 DEFINES += -DSTDIO
55 # Uncomment the following line if you want to use Ctrl+Alt+q to kill windows
56 # instead of Ctrl+Alt+Escape (or just set it to what you want). This is
57 # useful under XFree86/Cygwin and VMware (probably)
58 #DEFINES += -DKEY_KILL=XK_q
60 # Print whatever debugging messages I've left in this release.
61 #DEFINES += -DDEBUG # miscellaneous debugging
63 # ----- You shouldn't need to change anything under this line ------ #
65 version = 1.1.0
67 distname = evilwm-$(version)
69 #DEFINES += -DXDEBUG # show some X calls
71 DEFINES += -DVERSION=\"$(version)\" $(DEBIAN)
72 CFLAGS ?= -Os
73 #CFLAGS ?= -g
74 CFLAGS += $(DEFINES) $(INCLUDES) -Wall -W -Wstrict-prototypes -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Waggregate-return -Wnested-externs -Winline -Wwrite-strings -Wundef -Wsign-compare -Wmissing-prototypes -Wredundant-decls
75 LDFLAGS += $(LDPATH) $(LIBS)
77 HEADERS = evilwm.h log.h xconfig.h
78 SRCS = client.c events.c list.c main.c misc.c new.c screen.c ewmh.c \
79 xconfig.c
80 OBJS = $(SRCS:.c=.o)
82 .PHONY: all install dist debuild clean
84 all: evilwm
86 evilwm: $(OBJS)
87 $(CC) $(CFLAGS) $(OBJS) -o $@ $(LDFLAGS)
89 %.o: %.c $(HEADERS)
90 $(CC) $(CFLAGS) -c $<
92 install: evilwm
93 if [ -f evilwm.exe ]; then mv evilwm.exe evilwm; fi
94 $(INSTALL_DIR) $(prefix)/bin
95 $(INSTALL_DIR) $(prefix)/share/man/man1
96 $(INSTALL_DIR) $(prefix)/share/applications
97 $(INSTALL_DIR) $(prefix)/share/xsessions
98 $(INSTALL_PROGRAM) evilwm $(prefix)/bin
99 $(INSTALL_FILE) evilwm.1 $(prefix)/share/man/man1
100 $(INSTALL_FILE) applications.desktop $(prefix)/share/applications/evilwm.desktop
101 $(INSTALL_FILE) xsession.desktop $(prefix)/share/xsessions/evilwm.desktop
103 dist:
104 darcs dist --dist-name $(distname)
105 mv $(distname).tar.gz ..
107 debuild: dist
108 -cd ..; rm -rf $(distname)/ $(distname).orig/
109 cd ..; mv $(distname).tar.gz evilwm_$(version).orig.tar.gz
110 cd ..; tar xfz evilwm_$(version).orig.tar.gz
111 cp -a debian ../$(distname)/
112 rm -rf ../$(distname)/debian/_darcs/
113 cd ../$(distname); debuild
115 clean:
116 rm -f evilwm evilwm.exe $(OBJS)