mirror of https://github.com/dzavalishin/oskit/
82 lines
2.7 KiB
Makefile
82 lines
2.7 KiB
Makefile
|
#
|
||
|
# Copyright (c) 1994-1996, 1998, 1999 University of Utah and the Flux Group.
|
||
|
# All rights reserved.
|
||
|
#
|
||
|
# This file is part of the Flux OSKit. The OSKit is free software, also known
|
||
|
# as "open source;" you can redistribute it and/or modify it under the terms
|
||
|
# of the GNU General Public License (GPL), version 2, as published by the Free
|
||
|
# Software Foundation (FSF). To explore alternate licensing terms, contact
|
||
|
# the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
|
||
|
#
|
||
|
# The OSKit 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 GPL for more details. You should have
|
||
|
# received a copy of the GPL along with the OSKit; see the file COPYING. If
|
||
|
# not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
|
||
|
#
|
||
|
|
||
|
#### Start of configuration section ####
|
||
|
|
||
|
OSKIT_SRCDIR = @top_srcdir@
|
||
|
OBJDIR = .
|
||
|
|
||
|
prefix = @prefix@
|
||
|
exec_prefix = @exec_prefix@
|
||
|
|
||
|
include $(OBJDIR)/Makeconf
|
||
|
|
||
|
SUBDIRS = $(filter-out $(OSKIT_EXCLUDED_SUBDIRS),@oskit_subdirs@)
|
||
|
|
||
|
##### End of configuration section #####
|
||
|
|
||
|
# Get rid of a bunch of nasty built-in implicit rules.
|
||
|
.SUFFIXES:
|
||
|
|
||
|
# How to recursively descend into subdirectories to make general targets such as `all'.
|
||
|
%.MAKE:
|
||
|
@$(MAKE) -C $(dir $@) $(basename $(notdir $@))
|
||
|
%-subdirs: $(addsuffix /%.MAKE,$(SUBDIRS)) ;
|
||
|
|
||
|
# By default, make any target by descending into subdirectories.
|
||
|
%: %-subdirs ;
|
||
|
|
||
|
all: all-subdirs
|
||
|
|
||
|
clean: clean-subdirs
|
||
|
rm -rf lib
|
||
|
|
||
|
# This target "prepares" the tree by building any machine-generated
|
||
|
# source files, creating links into the source tree, etc.
|
||
|
# (Used by Knit)
|
||
|
.PHONY: prepare
|
||
|
prepare:: prepare-subdirs
|
||
|
|
||
|
distclean: distclean-subdirs
|
||
|
rm -rf lib GNUmakefile Makeconf config.status config.cache config.log \
|
||
|
$(addsuffix /GNUmakefile,$(SUBDIRS)) boot/bsd/mkbsdimage
|
||
|
|
||
|
|
||
|
# For testing
|
||
|
check:
|
||
|
$(MAKE) -C testsuite $@
|
||
|
testsum:
|
||
|
@$(MAKE) --no-print-directory -C testsuite $@
|
||
|
|
||
|
|
||
|
# Make directories that have to happen first dependencies of all others,
|
||
|
# and directories that have to happen lest dependent on all others.
|
||
|
# Thus parallelism (-j) will not barf.
|
||
|
FIRST_SUBDIRS = oskit flask
|
||
|
LAST_SUBDIRS = boot/% examples/%
|
||
|
|
||
|
$(patsubst %,%/all.MAKE,$(filter-out $(FIRST_SUBDIRS),$(SUBDIRS))): $(FIRST_SUBDIRS:%=%/all.MAKE)
|
||
|
$(patsubst %,%/all.MAKE,$(filter $(LAST_SUBDIRS),$(SUBDIRS))): $(patsubst %,%/all.MAKE,$(filter-out $(LAST_SUBDIRS),$(SUBDIRS)))
|
||
|
|
||
|
# The libc and freebsd/libc directories depend on posix/sys being built first.
|
||
|
libc/all.MAKE freebsd/libc/all.MAKE: posix/sys/all.MAKE
|
||
|
# The freebsd/libc_r directory depends on posix/sys_r being built first.
|
||
|
freebsd/libc_r/all.MAKE: posix/sys_r/all.MAKE
|
||
|
|
||
|
debug:
|
||
|
@echo SUBDIRS = $(SUBDIRS)
|