Change to 'safe' copy variant
[minix3.git] / Makefile
blobf31a1df4a1d1ce9b627633b927d4e75dd589dbbf
1 # Master Makefile to compile everything in /usr/src except the system.
3 MAKE = exec make -$(MAKEFLAGS)
5 usage:
6 @echo ""
7 @echo "Master Makefile for MINIX commands and utilities."
8 @echo "Root privileges are required for some actions."
9 @echo ""
10 @echo "Usage:"
11 @echo " make world # Compile everything (libraries & commands)"
12 @echo " make includes # Install include files from src/"
13 @echo " make libraries # Compile and install libraries"
14 @echo " make cmds # Compile all, commands, but don't install"
15 @echo " make install # Compile and install commands"
16 @echo " make depend # Generate required .depend files"
17 @echo " make clean # Remove all compiler results"
18 @echo ""
19 @echo "Run 'make' in tools/ to create a new MINIX configuration."
20 @echo ""
22 # world has to be able to make a new system, even if there
23 # is no complete old system. it has to install commands, for which
24 # it has to install libraries, for which it has to install includes,
25 # for which it has to install /etc (for users and ownerships).
26 # etcfiles also creates a directory hierarchy in its
27 # 'make install' target.
29 # etcfiles has to be done first.
30 world: includes depend libraries cmds install postinstall
32 includes:
33 cd include && $(MAKE) install gcc
35 libraries:
36 cd lib && $(MAKE) all install
38 cmds:
39 if [ -f commands/Makefile ] ; then cd commands && $(MAKE) all; fi
41 install::
42 if [ -f commands/Makefile ] ; then cd commands && $(MAKE) install; fi
44 depend::
45 mkdep kernel
46 mkdep servers
47 mkdep drivers
48 cd kernel && $(MAKE) $@
49 cd servers && $(MAKE) $@
50 cd drivers && $(MAKE) $@
53 clean::
54 cd lib && $(MAKE) $@
55 test ! -f commands/Makefile || { cd commands && $(MAKE) $@; }
57 etcfiles::
58 cd etc && $(MAKE) install
60 clean::
61 cd test && $(MAKE) $@
63 all install clean::
64 cd boot && $(MAKE) $@
65 cd man && $(MAKE) $@ # First manpages, then commands
66 test ! -f commands/Makefile || { cd commands && $(MAKE) $@; }
67 cd tools && $(MAKE) $@
68 cd servers && $(MAKE) $@
70 postinstall:
71 cd etc && $(MAKE) $@