]> Dogcows Code - chaz/openbox/blobdiff - build/Makefile.kernel
shrimpx above miklos?
[chaz/openbox] / build / Makefile.kernel
index 10a8268e45f21d43be64cae71e586d5b0655a868..e0ccfa264a26cd0dbfb53f2bb7d247f50476b325 100644 (file)
@@ -1,62 +1,67 @@
-kernel_dir:=kernel
-kernel_target:=$(binary)
-kernel_sources:=action.c client.c config.c dispatch.c engine.c event.c \
-                extensions.c focus.c frame.c grab.c menu.c openbox.c \
-                parse.c plugin.c prop.c screen.c stacking.c timer.c xerror.c \
-                lex.yy.c parse.tab.c
-kernel_lex:=parse.l
-kernel_yacc:=parse.y
-kernel_CPPFLAGS:=$(CPPFLAGS) $(GLIB_CFLAGS) $(GMODULE_CFLAGS) $(XFT_CFLAGS) \
-  -DG_LOG_DOMAIN=\"Openbox\"
-kernel_LIBS:=$(LIBS) $(GLIB_LIBS) $(GMODULE_LIBS) $(XFT_LIBS)
-kernel_LDFLAGS:=-export-dynamic
-
-kernel_srcdir:=$(srcdir)/$(kernel_dir)
-kernel_lex:=$(addprefix $(kernel_srcdir)/,$(kernel_lex))
-kernel_yacc:=$(addprefix $(kernel_srcdir)/,$(kernel_yacc))
-kernel_target:=$(addprefix $(kernel_dir)/,$(kernel_target))
-kernel_objects:=$(addprefix $(kernel_dir)/,$(kernel_sources:.c=.o))
-kernel_sources:=$(addprefix $(kernel_srcdir)/,$(kernel_sources))
-kernel_deps:=$(addprefix $(depdir)/,$(kernel_objects:.o=.d))
-kernel_depdir:=$(depdir)/$(kernel_dir)
-
-$(kernel_target): $(kernel_objects) $(render_target)
-       $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(kernel_LIBS) $(kernel_LDFLAGS)
-
-$(kernel_dir):
-       @mkdir $@
-
-$(kernel_dir)/%.o: $(kernel_srcdir)/%.c $(kernel_depdir)/%.d
-       $(CC) $(DEFS) $(kernel_CPPFLAGS) $(CFLAGS) -c -o $@ $<
-
-$(kernel_dir)/lex.yy.c: $(kernel_lex)
-       cd kernel && \
-       $(FLEX) $(notdir $<)
-
-%.tab.h: %.tab.c
-
-$(kernel_dir)/%.tab.c: $(kernel_srcdir)/%.y
-       cd kernel && \
-       $(BISON) -d $(notdir $<)
-
-$(kernel_depdir)/%.d: $(kernel_srcdir)/%.c $(depdir)
+include build/Makefile.incl
+
+dir = kernel
+
+CPPFLAGS += $(GLIB_CFLAGS) $(GMODULE_CFLAGS) $(XFT_CFLAGS) $(X_CFLAGS) \
+            -DG_LOG_DOMAIN=\"Openbox\"
+LIBS += $(GLIB_LIBS) $(GMODULE_LIBS) $(XFT_LIBS) $(X_LIBS) $(XINERAMA_LIBS) \
+       -lobrender
+LDFLAGS += -Lrender -export-dynamic
+
+target = openbox3
+sources = action.c client.c config.c dispatch.c event.c group.c \
+          extensions.c focus.c frame.c grab.c menu.c openbox.c framerender.c \
+          parse.c plugin.c prop.c screen.c stacking.c timer.c xerror.c \
+          parse.lex.c parse.tab.c
+
+srcdir := $(srcdir)/$(dir)
+target := $(addprefix $(dir)/,$(target))
+objects := $(addprefix $(dir)/,$(sources:.c=.lo))
+sources := $(addprefix $(srcdir)/,$(sources))
+deps := $(addprefix $(depdir)/,$(objects:.lo=.d))
+depdir := $(depdir)/$(dir)
+
+all: $(target)
+
+$(target): $(objects) render/libobrender.la
+       $(LINK) -o $@ $^ $(LIBS) $(LDFLAGS)
+
+# kill the implicit .c.y rule
+$(srcdir)/%.c: $(srcdir)/%.y
+       @
+
+$(dir)/%.lo: $(srcdir)/%.c $(depdir)/%.d
+       $(COMPILE) -c -o $@ $<
+
+%.lex.c: %.l
+       $(FLEX) -o$@ $<
+
+%.tab.c: %.y
+       $(BISON) -d -o $@ $<
+
+$(depdir)/%.d: $(srcdir)/%.c
        @echo Building dependancies for $<
-       @mkdir $(dir $@) 2> /dev/null || true
-       @$(CC) $(kernel_CPPFLAGS) $(CFLAGS) -w -MM -MF $@ -MQ $(<:.c=.o) $<
+       @$(INSTALL) -d $(depdir)
+       @$(CC) $(CPPFLAGS) $(CFLAGS) -w -MM -MF $@ -MQ $(<:.c=.lo) $<
 
-kernel-install:
+install:
        $(INSTALL) -d $(DESTDIR)$(bindir)/
-       $(INSTALL) $(kernel_target) $(DESTDIR)$(bindir)/$(notdir $(kernel_target))
+       $(LIBTOOL) --mode=install $(INSTALL) $(target) \
+               $(DESTDIR)$(bindir)/$(notdir $(target))
 
-kernel-uninstall:
-       -$(RM) $(DESTDIR)$(bindir)/$(notdir $(kernel_target))
+uninstall:
+       -$(RM) $(DESTDIR)$(bindir)/$(notdir $(target))
        -rmdir $(DESTDIR)$(bindir)/
 
-kernel-clean:
-       $(RM) $(kernel_target) $(kernel_objects) $(kernel_dir)/*\~
-       $(RM) $(kernel_srcdir)/lex.yy.c
-       $(RM) $(kernel_yacc:.y=.tab.c) $(kernel_yacc:.y=.tab.h)
+clean:
+       $(LTCLEAN) $(target)
+       $(RM) $(objects) $(srcdir)/*\~
+       $(RM) $(filter %.lex.c, $(sources))
+       $(RM) $(filter %.tab.c, $(sources))
+       $(RM) $(patsubst %.c,%.h, $(filter %.tab.c, $(sources)))
+
+distclean:
 
--include $(kernel_deps)
+-include $(deps)
 
-.PHONY: kernel-install kernel-uninstall kernel-clean
+.PHONY: all install uninstall clean distclean
This page took 0.029531 seconds and 4 git commands to generate.