X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=build%2FMakefile.kernel;h=69c8ac697c0546c9c5b2dbf26d21a4e8e77523f4;hb=c0f1e3ae660f55d40b60467d04e0e5647c47a722;hp=f45d4f4cf3dee1ed497eb5acce117e697a9fef87;hpb=9084ca41a5d73e4efce4b28958752a99554499b9;p=chaz%2Fopenbox diff --git a/build/Makefile.kernel b/build/Makefile.kernel index f45d4f4c..69c8ac69 100644 --- a/build/Makefile.kernel +++ b/build/Makefile.kernel @@ -1,62 +1,61 @@ -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 +include build/Makefile.incl + +dir = kernel + +CPPFLAGS += $(GLIB_CFLAGS) $(GMODULE_CFLAGS) $(XFT_CFLAGS) \ + -DG_LOG_DOMAIN=\"Openbox\" +LIBS += $(GLIB_LIBS) $(GMODULE_LIBS) $(XFT_LIBS) +LDFLAGS = -export-dynamic + +target = openbox3 +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 \ + parse.lex.c parse.tab.c + +srcdir := $(srcdir)/$(dir) +target := $(addprefix $(dir)/,$(target)) +objects := $(addprefix $(dir)/,$(sources:.c=.o)) +sources := $(addprefix $(srcdir)/,$(sources)) +deps := $(addprefix $(depdir)/,$(objects:.o=.d)) +depdir := $(depdir)/$(dir) + +all: $(target) + +$(target): $(objects) render/librender.a + $(LINK) -o $@ $^ $(LIBS) $(LDFLAGS) + +$(dir)/%.o: $(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 $< - $(INSTALL) -d $(dir $@) - @$(CC) $(kernel_CPPFLAGS) $(CFLAGS) -w -MM -MF $@ -MQ $(<:.c=.o) $< + $(INSTALL) -d $(depdir) + @$(CC) $(CPPFLAGS) $(CFLAGS) -w -MM -MF $@ -MQ $(<:.c=.o) $< -kernel-install: +install: $(INSTALL) -d $(DESTDIR)$(bindir)/ - $(INSTALL) $(kernel_target) $(DESTDIR)$(bindir)/$(notdir $(kernel_target)) + $(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