more build fixes, calling the other makefiles instead of including them

This commit is contained in:
Dana Jansens 2003-04-03 21:02:13 +00:00
parent 2d81fb038b
commit ce901a2341
6 changed files with 101 additions and 93 deletions

View file

@ -1,26 +1,20 @@
include build/Makefile.incl
all install uninstall:
@$(MAKE) -$(MAKEFLAGS) -f build/Makefile.render $@
@$(MAKE) -$(MAKEFLAGS) -f build/Makefile.kernel $@
# @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins $@
# @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.engines $@
# @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.themes $@
depdir:=.deps
all: alltargets
include build/Makefile.render
include build/Makefile.kernel
include build/Makefile.themes
include build/Makefile.plugins
include build/Makefile.engines
alltargets: $(kernel_target) $(plugins_targets) $(engines_targets)
install: all render-install kernel-install themes-install plugins-install engines-install
uninstall: render-uninstall kernel-uninstall themes-uninstall plugins-uninstall engines-uninstall
clean: render-clean kernel-clean plugins-clean engines-clean
clean:
@$(MAKE) -$(MAKEFLAGS) -f build/Makefile.render $@
@$(MAKE) -$(MAKEFLAGS) -f build/Makefile.kernel $@
# @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins $@
# @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.engines $@
# @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.themes $@
$(RM) *\~
distclean: clean
$(RM) configure Makefile.incl
$(RM) -r .deps/
.PHONY: all clean distclean
.PHONY: all clean distclean install uninstall

View file

@ -24,6 +24,7 @@ INSTALL = @INSTALL@
LIBTOOL = @LIBTOOL@
srcdir = @srcdir@
# non-recursive!
top_builddir = .
@ -41,4 +42,9 @@ plugindir = $(libdir)/openbox/plugins
rcdir = $(datadir)/openbox
themesdir = $(datadir)/openbox/themes
binary = openbox3
depdir = .deps
COMPILE = $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS)
DEPCOMPILE = $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS)
LINK = $(LIBTOOL) --mode=link $(CC)
LTCLEAN = $(LIBTOOL) --mode=clean $(RM)

View file

@ -1,62 +1,65 @@
kernel_dir:=kernel
kernel_target:=$(binary)
kernel_sources:=action.c client.c config.c dispatch.c engine.c event.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 \
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
parse.lex.c parse.tab.c
lex = parse.l
yacc = parse.y
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)
srcdir := $(srcdir)/$(dir)
lex := $(addprefix $(srcdir)/,$(lex))
yacc := $(addprefix $(srcdir)/,$(yacc))
target := $(addprefix $(dir)/,$(target))
objects := $(addprefix $(dir)/,$(sources:.c=.o))
sources := $(addprefix $(srcdir)/,$(sources))
deps := $(addprefix $(depdir)/,$(objects:.o=.d))
depdir := $(depdir)/$(dir)
$(kernel_target): $(kernel_objects) $(render_target)
$(LIBTOOL) --mode=link $(CC) -o $@ $^ $(kernel_LIBS) $(kernel_LDFLAGS)
all: $(target)
$(kernel_dir):
@mkdir $@
$(target): $(objects) render/librender.a
$(LINK) -o $@ $^ $(LIBS) $(LDFLAGS)
$(kernel_dir)/%.o: $(kernel_srcdir)/%.c $(kernel_depdir)/%.d
$(CC) $(DEFS) $(kernel_CPPFLAGS) $(CFLAGS) -c -o $@ $<
$(dir)/%.o: $(srcdir)/%.c $(depdir)/%.d
$(COMPILE) -c -o $@ $<
$(kernel_dir)/lex.yy.c: $(kernel_lex)
cd kernel && \
$(FLEX) $(notdir $<)
%.lex.c: %.l
$(FLEX) -o$@ $<
%.tab.h: %.tab.c
%.tab.c: %.y
$(BISON) -d -o $@ $<
$(kernel_dir)/%.tab.c: $(kernel_srcdir)/%.y
cd kernel && \
$(BISON) -d $(notdir $<)
$(kernel_depdir)/%.d: $(kernel_srcdir)/%.c
$(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) $(dir)/*\~
$(RM) $(filter %.lex.c, $(sources))
$(RM) $(filter %.tab.c, $(sources))
$(RM) $(patsubst %.c,%.h, $(filter %.tab.c, $(sources)))
-include $(kernel_deps)
distclean:
-include $(deps)
.PHONY: kernel-install kernel-uninstall kernel-clean

View file

@ -1,37 +1,41 @@
render_dir:=render
render_target:=librender.a
render_sources:=color.c font.c gradient.c image.c mask.c render.c test.c
render_CPPFLAGS:=$(CPPFLAGS) $(GLIB_CFLAGS) $(XFT_CFLAGS) \
-DG_LOG_DOMAIN=\"Render\"
include build/Makefile.incl
render_srcdir:=$(srcdir)/$(render_dir)
render_target:=$(addprefix $(render_dir)/,$(render_target))
render_objects:=$(addprefix $(render_dir)/,$(render_sources:.c=.o))
render_sources:=$(addprefix $(render_srcdir)/,$(render_sources))
render_deps:=$(addprefix $(depdir)/,$(render_objects:.o=.d))
render_depdir:=$(depdir)/$(render_dir)
dir = render
$(render_target): $(render_objects)
CPPFLAGS += $(GLIB_CFLAGS) $(XFT_CFLAGS) -DG_LOG_DOMAIN=\"Render\"
target = librender.a
sources = color.c font.c gradient.c image.c mask.c render.c test.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)
$(AR) r $@ $^
$(render_dir):
@mkdir $@
$(dir)/%.o: $(srcdir)/%.c $(depdir)/%.d
$(COMPILE) -c -o $@ $<
$(render_dir)/%.o: $(render_srcdir)/%.c $(depdir)/%.d
$(CC) $(DEFS) $(render_CPPFLAGS) $(CFLAGS) -c -o $@ $<
$(render_depdir)/%.d: $(render_srcdir)/%.c
$(depdir)/%.d: $(srcdir)/%.c
@echo Building dependancies for $<
$(INSTALL) -d $(dir $@)
@$(CC) $(render_CPPFLAGS) $(CFLAGS) -w -MM -MF $@ -MQ $(<:.c=.o) $<
@$(INSTALL) -d $(depdir)
@$(DEPCOMPILE) -w -MM -MF $@ -MQ $(<:.c=.o) $<
render-install:
install:
render-uninstall:
uninstall:
render-clean:
$(RM) $(render_target) $(render_objects) $(render_srcdir)/*\~
clean:
$(RM) $(target) $(objects) $(srcdir)/*\~
-include $(render_deps)
distclean:
.PHONY: render-install render-uninstall render-clean
-include $(deps)
.PHONY: all install uninstall clean distclean

View file

@ -3,3 +3,4 @@ lex.yy.c
parse.tab.c
parse.tab.h
.libs
parse.lex.c

View file

@ -19,8 +19,8 @@
#include "parse.h"
extern int yylex();
/*extern int yyparse();*/
/*void yyerror(char *err);*/
extern int yyparse();
void yyerror(char *err);
extern int yylineno;
extern FILE *yyin;