build the resistance/placement plugins
[dana/openbox.git] / build / Makefile.kernel
1 include build/Makefile.incl
2
3 dir = kernel
4
5 CPPFLAGS += $(GLIB_CFLAGS) $(GMODULE_CFLAGS) $(XFT_CFLAGS) \
6             -DG_LOG_DOMAIN=\"Openbox\"
7 LIBS += $(GLIB_LIBS) $(GMODULE_LIBS) $(XFT_LIBS)
8 LDFLAGS = -export-dynamic
9
10 target = openbox3
11 sources = action.c client.c config.c dispatch.c engine.c event.c \
12           extensions.c focus.c frame.c grab.c menu.c openbox.c \
13           parse.c plugin.c prop.c screen.c stacking.c timer.c xerror.c \
14           parse.lex.c parse.tab.c
15
16 srcdir := $(srcdir)/$(dir)
17 target := $(addprefix $(dir)/,$(target))
18 objects := $(addprefix $(dir)/,$(sources:.c=.o))
19 sources := $(addprefix $(srcdir)/,$(sources))
20 deps := $(addprefix $(depdir)/,$(objects:.o=.d))
21 depdir := $(depdir)/$(dir)
22
23 all: $(target)
24
25 $(target): $(objects) render/librender.a
26         $(LINK) -o $@ $^ $(LIBS) $(LDFLAGS)
27
28 $(dir)/%.o: $(srcdir)/%.c $(depdir)/%.d
29         $(COMPILE) -c -o $@ $<
30
31 %.lex.c: %.l
32         $(FLEX) -o$@ $<
33
34 %.tab.c: %.y
35         $(BISON) -d -o $@ $<
36
37 $(depdir)/%.d: $(srcdir)/%.c
38         @echo Building dependancies for $<
39         $(INSTALL) -d $(depdir)
40         @$(CC) $(CPPFLAGS) $(CFLAGS) -w -MM -MF $@ -MQ $(<:.c=.o) $<
41
42 install:
43         $(INSTALL) -d $(DESTDIR)$(bindir)/
44         $(INSTALL) $(target) $(DESTDIR)$(bindir)/$(notdir $(target))
45
46 uninstall:
47         -$(RM) $(DESTDIR)$(bindir)/$(notdir $(target))
48         -rmdir $(DESTDIR)$(bindir)/
49
50 clean:
51         $(LTCLEAN) $(target)
52         $(RM) $(objects) $(srcdir)/*\~
53         $(RM) $(filter %.lex.c, $(sources))
54         $(RM) $(filter %.tab.c, $(sources))
55         $(RM) $(patsubst %.c,%.h, $(filter %.tab.c, $(sources)))
56
57 distclean:
58
59 -include $(deps)
60
61 .PHONY: kernel-install kernel-uninstall kernel-clean