Initial Spring 2016 commit.
This commit is contained in:
71
Makefile
Normal file
71
Makefile
Normal file
@@ -0,0 +1,71 @@
|
||||
#
|
||||
# Toplevel makefile for OS/161.
|
||||
#
|
||||
#
|
||||
# Main rules:
|
||||
# all (default): depend and compile system; install into staging area
|
||||
# rebuild: likewise, but start with a clean slate.
|
||||
# fullrebuild: likewise, but start with a very clean slate.
|
||||
#
|
||||
# What all does, in order:
|
||||
# tools: depend and compile the tools used in build.
|
||||
# includes: install header files.
|
||||
# build: depend and compile the system.
|
||||
#
|
||||
# Other targets:
|
||||
# depend: just update make dependency information.
|
||||
# tags: generate/regenerate "tags" files.
|
||||
# install: install into $(OSTREE).
|
||||
# clean: remove generated files.
|
||||
# distclean: remove all generated files.
|
||||
#
|
||||
|
||||
TOP=.
|
||||
.include "$(TOP)/mk/os161.config.mk"
|
||||
|
||||
all:; # make this first
|
||||
|
||||
MKDIRS=$(OSTREE)
|
||||
|
||||
.include "$(TOP)/mk/os161.mkdirs.mk"
|
||||
|
||||
all: tools .WAIT includes .WAIT build
|
||||
|
||||
rebuild:
|
||||
$(MAKE) clean
|
||||
$(MAKE) all
|
||||
|
||||
fullrebuild:
|
||||
$(MAKE) distclean
|
||||
$(MAKE) all
|
||||
|
||||
# currently no tools required, hence no tools/ dir or work to do
|
||||
tools:
|
||||
@true
|
||||
|
||||
build:
|
||||
(cd userland && $(MAKE) build)
|
||||
(cd man && $(MAKE) install-staging)
|
||||
|
||||
includes tags depend:
|
||||
(cd kern && $(MAKE) $@)
|
||||
(cd userland && $(MAKE) $@)
|
||||
|
||||
clean:
|
||||
(cd kern && $(MAKE) $@)
|
||||
(cd userland && $(MAKE) $@)
|
||||
rm -rf $(INSTALLTOP)
|
||||
|
||||
distclean: clean
|
||||
rm -rf $(WORKDIR)
|
||||
|
||||
install: $(OSTREE)
|
||||
(cd $(INSTALLTOP) && tar -cf - .) | (cd $(OSTREE) && tar -xvf -)
|
||||
|
||||
|
||||
.PHONY: all rebuild fullrebuild tools build includes tags depend
|
||||
.PHONY: clean distclean
|
||||
|
||||
# old BSD name, same as distclean
|
||||
cleandir: distclean
|
||||
.PHONY: cleandir
|
Reference in New Issue
Block a user