]> Dogcows Code - chaz/openbox/blob - build/Makefile.kernel
more build fixes, calling the other makefiles instead of including them
[chaz/openbox] / 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 lex = parse.l
16 yacc = parse.y
17
18 srcdir := $(srcdir)/$(dir)
19 lex := $(addprefix $(srcdir)/,$(lex))
20 yacc := $(addprefix $(srcdir)/,$(yacc))
21 target := $(addprefix $(dir)/,$(target))
22 objects := $(addprefix $(dir)/,$(sources:.c=.o))
23 sources := $(addprefix $(srcdir)/,$(sources))
24 deps := $(addprefix $(depdir)/,$(objects:.o=.d))
25 depdir := $(depdir)/$(dir)
26
27 all: $(target)
28
29 $(target): $(objects) render/librender.a
30 $(LINK) -o $@ $^ $(LIBS) $(LDFLAGS)
31
32 $(dir)/%.o: $(srcdir)/%.c $(depdir)/%.d
33 $(COMPILE) -c -o $@ $<
34
35 %.lex.c: %.l
36 $(FLEX) -o$@ $<
37
38 %.tab.c: %.y
39 $(BISON) -d -o $@ $<
40
41 $(depdir)/%.d: $(srcdir)/%.c
42 @echo Building dependancies for $<
43 $(INSTALL) -d $(depdir)
44 @$(CC) $(CPPFLAGS) $(CFLAGS) -w -MM -MF $@ -MQ $(<:.c=.o) $<
45
46 install:
47 $(INSTALL) -d $(DESTDIR)$(bindir)/
48 $(INSTALL) $(target) $(DESTDIR)$(bindir)/$(notdir $(target))
49
50 uninstall:
51 -$(RM) $(DESTDIR)$(bindir)/$(notdir $(target))
52 -rmdir $(DESTDIR)$(bindir)/
53
54 clean:
55 $(LTCLEAN) $(target)
56 $(RM) $(objects) $(dir)/*\~
57 $(RM) $(filter %.lex.c, $(sources))
58 $(RM) $(filter %.tab.c, $(sources))
59 $(RM) $(patsubst %.c,%.h, $(filter %.tab.c, $(sources)))
60
61 distclean:
62
63 -include $(deps)
64
65 .PHONY: kernel-install kernel-uninstall kernel-clean
This page took 0.042745 seconds and 5 git commands to generate.