52 lines
1.6 KiB
Makefile
52 lines
1.6 KiB
Makefile
|
# Master Makefile to compile everything in /usr/src except the system.
|
||
|
|
||
|
MAKE = exec make -$(MAKEFLAGS)
|
||
|
|
||
|
usage:
|
||
|
@echo "" >&2
|
||
|
@echo "Master Makefile for MINIX commands and utilities." >&2
|
||
|
@echo "Usage:" >&2
|
||
|
@echo " make world # Compile everything (libraries & commands)" >&2
|
||
|
@echo " make libraries # Compile and install libraries" >&2
|
||
|
@echo " make commands # Compile commands, but don't install" >&2
|
||
|
@echo " make install # Compile and install commands" >&2
|
||
|
@echo " make clean # Remove all compiler results" >&2
|
||
|
@echo "" >&2
|
||
|
@echo "Run 'make' in tools/ to create a new MINIX configuration." >&2; exit 0
|
||
|
@echo "" >&2
|
||
|
|
||
|
# world has to be able to make a new system, even if there
|
||
|
# is no complete old system. it has to install commands, for which
|
||
|
# it has to install libraries, for which it has to install includes,
|
||
|
# for which it has to install /etc (for users and ownerships).
|
||
|
# etcfiles also creates a directory hierarchy in its
|
||
|
# 'make install' target.
|
||
|
world: etcfiles includes libraries commands install
|
||
|
|
||
|
libraries:
|
||
|
cd lib && $(MAKE) install
|
||
|
|
||
|
commands:
|
||
|
@echo "Are the libraries up to date?"; sleep 2
|
||
|
test ! -f commands/Makefile || { cd commands && $(MAKE); }
|
||
|
|
||
|
install:
|
||
|
test ! -f commands/Makefile || { cd commands && $(MAKE) $@; }
|
||
|
|
||
|
clean::
|
||
|
cd lib && $(MAKE) $@
|
||
|
test ! -f commands/Makefile || { cd commands && $(MAKE) $@; }
|
||
|
|
||
|
etcfiles::
|
||
|
cd etc && $(MAKE) install
|
||
|
|
||
|
includes::
|
||
|
cd include && $(MAKE) install
|
||
|
|
||
|
all install clean::
|
||
|
cd boot && $(MAKE) $@
|
||
|
test ! -f commands/Makefile || { cd commands && $(MAKE) $@; }
|
||
|
cd tools && $(MAKE) $@
|
||
|
cd man && $(MAKE) $@
|
||
|
|