From 5d665673a29be21fe4ecad870d0a2d4f5c2f308d Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 6 Apr 2003 09:56:57 +0000 Subject: [PATCH] fixes for build system. add themes to the install process. use the build/ dir for configures trash dump --- .cvsignore | 4 +- Makefile | 33 ---------- Makefile.in | 34 +++++++++++ build/.cvsignore | 4 ++ build/Makefile.data | 24 +++----- build/Makefile.incl.in | 3 + build/Makefile.plugins | 23 ++++--- build/Makefile.render | 4 +- build/Makefile.themes | 67 +++++--------------- install-sh => build/install-sh | 0 configure.ac | 63 ++++++++----------- m4/openbox.m4 | 108 ++++++++++++++++++--------------- render/.cvsignore | 8 +++ 13 files changed, 168 insertions(+), 207 deletions(-) delete mode 100644 Makefile create mode 100644 Makefile.in rename install-sh => build/install-sh (100%) mode change 100644 => 100755 diff --git a/.cvsignore b/.cvsignore index db808d81..5037d039 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,10 +1,8 @@ -ltmain.sh libtool configure -config.sub config.status config.log -config.guess autom4te.cache aclocal.m4 .deps +Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index 6d05f305..00000000 --- a/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -all 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.data $@ -# @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.themes $@ - -install: all - @$(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.data $@ -# @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.themes $@ - -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.data $@ -# @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.themes $@ - $(RM) *\~ - -distclean: clean - $(RM) configure Makefile.incl - $(RM) -r .deps/ - -love: - @echo "" - -.PHONY: all clean distclean install uninstall love diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 00000000..400c1c98 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,34 @@ +include build/Makefile.incl + +targets = render kernel plugins engines themes data + +all: libtool + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.$$i $@; \ + done + +uninstall: + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.$$i $@; \ + done + +install: all + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.$$i $@; \ + done + +clean: + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.$$i $@; \ + done + $(RM) *\~ + +distclean: clean + $(RM) configure Makefile.incl + $(RM) -r .deps/ + +LIBTOOL_DEPS = @LIBTOOL_DEPS@ +libtool: $(LIBTOOL_DEPS) + $(SHELL) ./config.status --recheck + +.PHONY: all clean distclean install uninstall diff --git a/build/.cvsignore b/build/.cvsignore index 848f07ea..bdbd663f 100644 --- a/build/.cvsignore +++ b/build/.cvsignore @@ -1 +1,5 @@ Makefile.incl +Makefile.themes.openbox +config.guess +config.sub +ltmain.sh diff --git a/build/Makefile.data b/build/Makefile.data index 874843ac..4e2b522b 100644 --- a/build/Makefile.data +++ b/build/Makefile.data @@ -5,30 +5,20 @@ dir = data files = rc3 srcdir := $(srcdir)/$(dir) -files := $(addprefix $(srcdir)/,$(files)) +dir := $(DESTDIR)$(rcdir) +sources := $(addprefix $(srcdir)/,$(files)) all: -$(target): $(objects) - $(AR) r $@ $^ - -$(dir)/%.o: $(srcdir)/%.c $(depdir)/%.d - $(COMPILE) -c -o $@ $< - -$(depdir)/%.d: $(srcdir)/%.c - @echo Building dependancies for $< - @$(INSTALL) -d $(depdir) - @$(DEPCOMPILE) -w -MM -MF $@ -MQ $(<:.c=.o) $< - install: - $(INSTALL) -d $(DESTDIR)$(rcdir) - $(INSTALL) -m 644 $(files) $(DESTDIR)$(rcdir) + $(INSTALL) -d $(dir) + $(INSTALL) -m 644 $(sources) $(dir) uninstall: - for i in $(notdir files); do \ - $(RM) $(DESTDIR)$(rcdir)/$$i; \ + for i in $(files); do \ + $(RM) $(dir)/$$i; \ done - -rmdir $(DESTDIR)$(rcdir) + -rmdir $(dir) clean: $(RM) $(srcdir)/*\~ diff --git a/build/Makefile.incl.in b/build/Makefile.incl.in index a52c865c..b6da814f 100644 --- a/build/Makefile.incl.in +++ b/build/Makefile.incl.in @@ -1,3 +1,6 @@ +CC = @CC@ +MAKE += --no-print-directory + CFLAGS = @CFLAGS@ CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@ \ -DLOCALEDIR=\"$(localedir)\" \ diff --git a/build/Makefile.plugins b/build/Makefile.plugins index 9555d871..86781355 100644 --- a/build/Makefile.plugins +++ b/build/Makefile.plugins @@ -1,23 +1,22 @@ include build/Makefile.incl +targets = resistance placement keyboard mouse + all clean distclean: - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.resistance $@ - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.placement $@ - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.keyboard $@ - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.mouse $@ + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.$$i $@; \ + done install: - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.resistance $@ - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.placement $@ - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.keyboard $@ - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.mouse $@ + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.$$i $@; \ + done $(LIBTOOL) --mode=finish $(DESTDIR)$(plugindir) uninstall: - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.resistance $@ - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.placement $@ - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.keyboard $@ - @$(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.mouse $@ + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.plugins.$$i $@; \ + done -rmdir $(DESTDIR)$(plugindir) .PHONY: all clean distclean install uninstall diff --git a/build/Makefile.render b/build/Makefile.render index f575f6fa..de25d5e7 100644 --- a/build/Makefile.render +++ b/build/Makefile.render @@ -17,10 +17,10 @@ depdir := $(depdir)/$(dir) all: $(target) $(target): $(objects) - $(AR) r $@ $^ + $(LINK) -static -o $@ $^ $(dir)/%.o: $(srcdir)/%.c $(depdir)/%.d - $(COMPILE) -c -o $@ $< + $(LTCOMPILE) -c -o $@ $< $(depdir)/%.d: $(srcdir)/%.c @echo Building dependancies for $< diff --git a/build/Makefile.themes b/build/Makefile.themes index 5238c140..577753d9 100644 --- a/build/Makefile.themes +++ b/build/Makefile.themes @@ -1,60 +1,21 @@ -themes_srcdir:=$(srcdir)/themes +include build/Makefile.incl -themes_ob_dir:=$(DESTDIR)$(themesdir)/openbox -themes_ob_srcdir:=$(themes_srcdir)/openbox -themes_ob:=artwiz bbs bluebox cthulhain deep ebox fieron fieron2 flux \ - frobozz frobust mbdtex miklos nyz nyzclone ob20 operation \ - outcomes paper purplehaaze shade steelblue steelblue2 \ - the_orange trisb twice warp-xp +targets = openbox -themes_ob_fieron_buttons_dir:=$(themes_ob_dir)/fieron_buttons -themes_ob_fieron_buttons_srcdir:=$(themes_ob_srcdir)/fieron_buttons -themes_ob_fieron_buttons:=close.xbm icon.xbm max.xbm stick.xbm - -themes_ob_fieron2_buttons_dir:=$(themes_ob_dir)/fieron2_buttons -themes_ob_fieron2_buttons_srcdir:=$(themes_ob_srcdir)/fieron2_buttons -themes_ob_fieron2_buttons:=close.xbm icon.xbm max.xbm stick.xbm - -themes_ob_ebox_buttons_dir:=$(themes_ob_dir)/ebox_buttons -themes_ob_ebox_buttons_srcdir:=$(themes_ob_srcdir)/ebox_buttons -themes_ob_ebox_buttons:=close.xbm icon.xbm max.xbm - -themes-install: - $(INSTALL) -d $(DESTDIR)$(themesdir) - - $(INSTALL) -d $(themes_ob_dir) - for i in $(addprefix $(themes_ob_srcdir)/,$(themes_ob)); do \ - $(INSTALL) $$i $(themes_ob_dir); \ - done - $(INSTALL) -d $(themes_ob_fieron_buttons_dir) - for i in $(addprefix $(themes_ob_fieron_buttons_srcdir)/,$(themes_ob_fieron_buttons)); do \ - $(INSTALL) $$i $(themes_ob_fieron_buttons_dir); \ - done - $(INSTALL) -d $(themes_ob_fieron2_buttons_dir) - for i in $(addprefix $(themes_ob_fieron2_buttons_srcdir)/,$(themes_ob_fieron2_buttons)); do \ - $(INSTALL) $$i $(themes_ob_fieron2_buttons_dir); \ - done - $(INSTALL) -d $(themes_ob_ebox_buttons_dir) - for i in $(addprefix $(themes_ob_ebox_buttons_srcdir)/,$(themes_ob_ebox_buttons)); do \ - $(INSTALL) $$i $(themes_ob_ebox_buttons_dir); \ +all clean distclean: + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.themes.$$i $@; \ done -themes-uninstall: - -for i in $(themes_ob_ebox_buttons); do \ - $(RM) $(themes_ob_ebox_buttons_dir)/$$i; \ - done - -rmdir $(themes_ob_ebox_buttons_dir) - -for i in $(themes_ob_fieron2_buttons); do \ - $(RM) $(themes_ob_fieron2_buttons_dir)/$$i; \ +install: + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.themes.$$i $@; \ done - -rmdir $(themes_ob_fieron2_buttons_dir) - -for i in $(themes_ob_fieron_buttons); do \ - $(RM) $(themes_ob_fieron_buttons_dir)/$$i; \ - done - -rmdir $(themes_ob_fieron_buttons_dir) - -for i in $(themes_ob); do \ - $(RM) $(themes_ob_dir)/$$i; \ + +uninstall: + @for i in $(targets); do \ + $(MAKE) -$(MAKEFLAGS) -f build/Makefile.themes.$$i $@; \ done - -rmdir $(themes_ob_dir) + -rmdir $(DESTDIR)$(themedir) - -rmdir $(DESTDIR)$(themesdir) +.PHONY: all clean distclean install uninstall diff --git a/install-sh b/build/install-sh old mode 100644 new mode 100755 similarity index 100% rename from install-sh rename to build/install-sh diff --git a/configure.ac b/configure.ac index eb52e7e1..a9281dc3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,19 +1,14 @@ AC_PREREQ([2.50]) AC_INIT([openbox], [2.90.0cvs], [http://bugzilla.icculus.org]) -# AC_CONFIG_HEADERS(config.h) -AC_LANG([C]) -AC_ENABLE_STATIC([no]) -AC_ENABLE_SHARED([yes]) +AC_CONFIG_SRCDIR([kernel/openbox.c]) +AC_CONFIG_AUX_DIR([build]) AC_PREFIX_DEFAULT([/usr/local]) test "$prefix" = "NONE" && prefix=$ac_default_prefix -##AM_INIT_AUTOMAKE([openbox], [2.90.0cvs]) - AC_PATH_PROG([SED], [sed]) test "$SED" || AC_MSG_ERROR([sed not found]) -##AM_MAINTAINER_MODE # Determine build target OB_DEBUG # Pick compiler specific/build target flags, and set $CVS @@ -21,37 +16,42 @@ OB_COMPILER_FLAGS AC_C_CONST AC_C_INLINE -# XXX ADD --disable-nls option to this XXX -CPPFLAGS="$CPPFLAGS -DENABLE_NLS" -# XXX XXX - -PKG_CHECK_MODULES([GLIB], [glib-2.0]) -AC_SUBST(GLIB_CFLAGS) -AC_SUBST(GLIB_LIBS) - -PKG_CHECK_MODULES([GMODULE], [gmodule-2.0]) -AC_SUBST(GMODULE_CFLAGS) -AC_SUBST(GMODULE_LIBS) - -AC_PATH_PROG([FLEX], [flex]) -test "$FLEX" || AC_MSG_ERROR([flex not found]) +if test "$CVS" = "yes"; then + AC_PATH_PROG([FLEX], [flex]) + test "$FLEX" || AC_MSG_ERROR([flex not found]) -AC_PATH_PROG([BISON], [bison]) -test "BISON" || AC_MSG_ERROR([bison not found]) + AC_PATH_PROG([BISON], [bison]) + test "BISON" || AC_MSG_ERROR([bison not found]) +fi +AC_DISABLE_STATIC +AC_LIBTOOL_DLOPEN AC_PROG_LIBTOOL +AC_SUBST(LIBTOOL_DEPS) LIBTOOL="$LIBTOOL --silent" + AC_PROG_INSTALL +OB_NLS +## XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ## ##ALL_LINGUAS="" ##AM_GNU_GETTEXT_VERSION(0.11.5) ##AM_GNU_GETTEXT([external]) +## XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ## AC_CHECK_HEADERS(ctype.h fcntl.h locale.h signal.h string.h stdio.h stdlib.h) AC_CHECK_HEADERS(unistd.h sys/stat.h sys/select.h sys/time.h sys/wait.h) # AC_HEADER_TIME # AC_TYPE_SIGNAL +PKG_CHECK_MODULES([GLIB], [glib-2.0]) +AC_SUBST(GLIB_CFLAGS) +AC_SUBST(GLIB_LIBS) + +PKG_CHECK_MODULES([GMODULE], [gmodule-2.0]) +AC_SUBST(GMODULE_CFLAGS) +AC_SUBST(GMODULE_LIBS) + PKG_CHECK_MODULES(XFT, xft) AC_SUBST(XFT_CFLAGS) AC_SUBST(XFT_LIBS) @@ -61,22 +61,7 @@ X11_EXT_XKB X11_EXT_SHAPE X11_EXT_XINERAMA -AC_CONFIG_FILES([build/Makefile.incl]) -# po/Makefile.in -# kernel/Makefile -# render/Makefile -# engines/Makefile -# engines/openbox/Makefile -# plugins/Makefile -# plugins/keyboard/Makefile -# plugins/mouse/Makefile -# plugins/placement/Makefile -# doc/Makefile -# doc/doxygen/Makefile -# data/Makefile -# data/buttons/Makefile -# themes/Makefile -# themes/openbox/Makefile]) +AC_CONFIG_FILES([Makefile build/Makefile.incl]) AC_OUTPUT AC_MSG_RESULT diff --git a/m4/openbox.m4 b/m4/openbox.m4 index 53da97ca..fb75eccd 100644 --- a/m4/openbox.m4 +++ b/m4/openbox.m4 @@ -5,41 +5,41 @@ # Sets the CVS environment variable when building CVS sources. AC_DEFUN([OB_DEBUG], [ - AC_MSG_CHECKING([build type]) + AC_MSG_CHECKING([build type]) - AC_ARG_ENABLE([debug], - [ --enable-debug build a debug version default=yes], - [DEBUG=$enableval], [DEBUG="yes"]) + AC_ARG_ENABLE([debug], + [ --enable-debug build a debug version default=yes], + [DEBUG=$enableval], [DEBUG="yes"]) - AC_ARG_ENABLE([strict-ansi], - [ --enable-strict-ansi Enable strict ANSI compliance build default=no], - [STRICT=$enableval], [STRICT="no"]) - if test "$GCC" = "yes" && test "$STRICT" = "yes"; then - CFLAGS="$CFLAGS -ansi -pedantic -D_XOPEN_SOURCE" - fi + AC_ARG_ENABLE([strict-ansi], + [ --enable-strict-ansi Enable strict ANSI compliance build default=no], + [STRICT=$enableval], [STRICT="no"]) + if test "$GCC" = "yes" && test "$STRICT" = "yes"; then + CFLAGS="$CFLAGS -ansi -pedantic -D_XOPEN_SOURCE" + fi # cvs builds are always debug - CVS="" - test "${PACKAGE_VERSION%*cvs}" != "$PACKAGE_VERSION" && CVS="yes" - test "$CVS" = "yes" && DEBUG="yes" + CVS="" + test "${PACKAGE_VERSION%*cvs}" != "$PACKAGE_VERSION" && CVS="yes" + test "$CVS" = "yes" && DEBUG="yes" - if test "$DEBUG" = "yes"; then - MSG="DEBUG" - else - MSG="RELEASE" - fi - if test "$CVS" = "yes"; then - MSG="$MSG (CVS build)" - fi - if test "$STRICT" = "yes"; then - MSG="$MSG with strict ANSI compliance" - fi - AC_MSG_RESULT([$MSG]) - - test "$DEBUG" = "yes" && \ - AC_DEFINE([DEBUG], [1], [Creating a debug build]) + if test "$DEBUG" = "yes"; then + MSG="DEBUG" + else + MSG="RELEASE" + fi + if test "$CVS" = "yes"; then + MSG="$MSG (CVS build)" + fi + if test "$STRICT" = "yes"; then + MSG="$MSG with strict ANSI compliance" + fi + AC_MSG_RESULT([$MSG]) + + test "$DEBUG" = "yes" && \ + AC_DEFINE([DEBUG], [1], [Creating a debug build]) - AM_CONDITIONAL(CVS, test "$CVS" = "yes") + AM_CONDITIONAL(CVS, test "$CVS" = "yes") ]) @@ -50,27 +50,39 @@ AC_DEFUN([OB_DEBUG], # for debug builds. AC_DEFUN([OB_COMPILER_FLAGS], [ - AC_REQUIRE([AC_PROG_CPP]) - AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_PROG_CPP]) + AC_REQUIRE([AC_PROG_CC]) - FLAGS="" + FLAGS="" - # Check what compiler we are using - AC_MSG_CHECKING([for GNU CC]) - if test "$GCC" = "yes"; then - AC_MSG_RESULT([yes]) - if test "$DEBUG" = "yes"; then - FLAGS="-g -fno-inline" - FLAGS="$FLAGS -Wall -Wsign-compare -Waggregate-return" - FLAGS="$FLAGS -Wcast-qual -Wbad-function-cast -Wpointer-arith" - # for Python.h - FLAGS="$FLAGS -Wno-long-long" + # Check what compiler we are using + AC_MSG_CHECKING([for GNU CC]) + if test "$GCC" = "yes"; then + AC_MSG_RESULT([yes]) + if test "$DEBUG" = "yes"; then + FLAGS="-g -fno-inline" + FLAGS="$FLAGS -Wall -Wsign-compare -Waggregate-return" + FLAGS="$FLAGS -Wcast-qual -Wbad-function-cast -Wpointer-arith" + # for Python.h + #FLAGS="$FLAGS -Wno-long-long" + fi + if test "$STRICT" = "yes"; then + FLAGS="$FLAGS -ansi -pedantic -D_XOPEN_SOURCE" + fi fi - if test "$STRICT" = "yes"; then - FLAGS="$FLAGS -ansi -pedantic -D_XOPEN_SOURCE" + AC_MSG_CHECKING([for compiler specific flags]) + AC_MSG_RESULT([$FLAGS]) + CFLAGS="$CFLAGS $FLAGS" +]) + +AC_DEFUN([OB_NLS], +[ + AC_ARG_ENABLE([nls], + [ --enable-nls Enable NLS translations default=yes], + [NLS=$enableval], [NLS="yes"]) + + if test "$NLS" = yes; then + CPPFLAGS="$CPPFLAGS -DENABLE_NLS" fi - fi - AC_MSG_CHECKING([for compiler specific flags]) - AC_MSG_RESULT([$FLAGS]) - CFLAGS="$CFLAGS $FLAGS" ]) + diff --git a/render/.cvsignore b/render/.cvsignore index b79cafde..1811768e 100644 --- a/render/.cvsignore +++ b/render/.cvsignore @@ -1,2 +1,10 @@ rendertest librender.a +.libs +color.lo +font.lo +gradient.lo +image.lo +mask.lo +render.lo +test.lo -- 2.39.2