diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..411b660a --- /dev/null +++ b/Makefile @@ -0,0 +1,158 @@ +# +# Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999 Free Software Foundation +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +dir := . +makemode := misc + +include ./Makeconf + +DIST_FILES = COPYING Makeconf config.make.in configure.in configure \ + move-if-change hurd.boot build.mk.in build.mkcf.in aclocal.m4 \ + README NEWS tasks INSTALL INSTALL-cross version.h.in + + +## Subdirectories of this directory should all be mentioned here + +# Hurd libraries +lib-subdirs = libshouldbeinlibc libihash libiohelp libports libthreads \ + libpager libfshelp libdiskfs libtrivfs libps \ + libnetfs libpipe libstore libhurdbugaddr libftpconn + +# Hurd programs +prog-subdirs = auth proc exec init term \ + ufs ext2fs isofs nfs \ + storeio pflocal pfinet defpager mach-defpager \ + login daemons nfsd boot serverboot \ + hostmux usermux ftpfs trans \ + utils sutils ufs-fsck ufs-utils \ + benchmarks fstests + +# Other directories +other-subdirs = hurd doc config release include debian + +# All the subdirectories together +subdirs = $(lib-subdirs) $(prog-subdirs) $(other-subdirs) + +# Any subdirectories here that we don't want to distribute to the world +subdirs-nodist = + +# This allows the creation of a file BROKEN in any of the prog-subdirs; +# that will prevent this top level Makefile from attempting to make it. +working-prog-subdirs := $(filter-out \ + $(patsubst %/,%,\ + $(dir $(wildcard $(prog-subdirs:=/BROKEN)))),\ + $(prog-subdirs)) + + +$(subdirs): version.h + +version.h: version.h.in + sed -e 's/MASTER_HURD_VERSION/\"$(hurd-version)\"/' < $< > $@ + + +## GNU Coding Standards targets (not all are here yet), and some other +## similar sorts of things + +all: $(lib-subdirs) $(working-prog-subdirs) + +# Create a distribution tar file. Set make variable `version' on the +# command line; otherwise the tar file will be a dated snapshot. +ifeq ($(version),) +version:=$(shell date +%Y%m%d) +endif +dirname:=hurd + +dist: $(srcdir)/hurd-snap $(addsuffix -lndist,$(filter-out $(subdirs-nodist), $(subdirs))) lndist + mv $(srcdir)/hurd-snap $(srcdir)/$(dirname)-$(version) + cd $(srcdir); tar cfz $(dirname)-$(version).tar.gz $(dirname)-$(version) + rm -rf $(srcdir)/$(dirname)-$(version) + +clean: $(addsuffix -clean,$(lib-subdirs)) $(addsuffix -clean,$(working-prog-subdirs)) clean-misc + +relink: $(addsuffix -relink,$(lib-subdirs) $(prog-subdirs)) + +objs: $(addsuffix -objs,$(lib-subdirs) $(prog-subdirs)) + +install: $(addsuffix -install,$(lib-subdirs) $(working-prog-subdirs) \ + $(other-subdirs)) + +install-headers: $(addsuffix -install-headers,$(lib-subdirs) \ + $(working-prog-subdirs)\ + $(other-subdirs)) + +TAGS: $(addsuffix -TAGS,$(prog-subdirs) $(lib-subdirs)) + etags -o $@ $(patsubst %-TAGS,-i %/TAGS,$^) + +## Targets used by the main targets above. +$(prog-subdirs) $(lib-subdirs): FORCE + $(MAKE) -C $@ all +FORCE: + +%-lndist: $(top_srcdir)/hurd-snap + $(MAKE) -C $* lndist no_deps=t + +%-clean: + $(MAKE) -C $* clean no_deps=t + +%-relink: + $(MAKE) -C $* relink no_deps=t + +%-objs: + $(MAKE) -C $* objs + +%-install: + $(MAKE) -C $* install + +%-install-headers: + $(MAKE) -C $* install-headers + +%-TAGS: + $(MAKE) -C $* TAGS no_deps=t + +$(srcdir)/hurd-snap: + mkdir $(srcdir)/hurd-snap + +lndist: cp-linked-files + +linked-files = install-sh config.guess config.sub mkinstalldirs +lf-inst = $(addprefix $(srcdir)/hurd-snap/,$(linked-files)) +cp-linked-files: $(lf-inst) +$(lf-inst): $(srcdir)/hurd-snap/%: $(srcdir)/% + cp $< $@ + +.PHONY: clean-misc distclean +clean-misc: + +distclean: clean + rm -f config.make config.log config.status config.cache +ifneq (.,${srcdir}) + rm -f Makefile +endif + + +## Directory dependencies +# +# Some directories depend on others, so we need to find out exactly +# what they are. This does that for us. + +ifneq ($(no_deps),t) +-include $(addsuffix .d,$(subdirs)) +endif + +# How to build them +$(addsuffix .d,$(subdirs)): %.d: $(top_srcdir)/%/Makefile + $(MAKE) -C $* directory-depend no_deps=t |