72 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
#
 | 
						|
# 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
 |