diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-04-06 09:56:57 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-04-06 09:56:57 +0000 |
| commit | 5d665673a29be21fe4ecad870d0a2d4f5c2f308d (patch) | |
| tree | 0e06dc5e81708d0024a149d54a739977cfb68213 /build | |
| parent | ee2368044dd077207962f71194158265c74fe74e (diff) | |
fixes for build system. add themes to the install process. use the build/ dir for configures trash dump
Diffstat (limited to 'build')
| -rw-r--r-- | build/.cvsignore | 4 | ||||
| -rw-r--r-- | build/Makefile.data | 24 | ||||
| -rw-r--r-- | build/Makefile.incl.in | 3 | ||||
| -rw-r--r-- | build/Makefile.plugins | 23 | ||||
| -rw-r--r-- | build/Makefile.render | 4 | ||||
| -rw-r--r-- | build/Makefile.themes | 67 | ||||
| -rwxr-xr-x | build/install-sh | 276 |
7 files changed, 317 insertions, 84 deletions
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/build/install-sh b/build/install-sh new file mode 100755 index 00000000..36f96f3e --- /dev/null +++ b/build/install-sh @@ -0,0 +1,276 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "$0: no input file specified" >&2 + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d "$dst" ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "$0: $src does not exist" >&2 + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "$0: no destination specified" >&2 + exit 1 + else + : + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d "$dst" ] + then + dst=$dst/`basename "$src"` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-$defaultIFS}" + +oIFS=$IFS +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS=$oIFS + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp=$pathcomp$1 + shift + + if [ ! -d "$pathcomp" ] ; + then + $mkdirprog "$pathcomp" + else + : + fi + + pathcomp=$pathcomp/ +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd "$dst" && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename "$dst"` + else + : + fi + +# Make a couple of temp file names in the proper directory. + + dsttmp=$dstdir/#inst.$$# + rmtmp=$dstdir/#rm.$$# + +# Trap to clean up temp files at exit. + + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + +# Move or copy the file name to the temp name + + $doit $instcmd "$src" "$dsttmp" && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && + +# Now remove or move aside any old file at destination location. We try this +# two ways since rm can't unlink itself on some systems and the destination +# file might be busy for other reasons. In this case, the final cleanup +# might fail but the new file should still install successfully. + +{ + if [ -f "$dstdir/$dstfile" ] + then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || + $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || + { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi +} && + +# Now rename the file to the real destination. + + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + +fi && + +# The final little trick to "correctly" pass the exit status to the exit trap. + +{ + (exit 0); exit +} |
