xref: /minix3/tools/Makefile (revision 68db8ed0b9600e11489ca631e7ea24a6f5adb15f)
1# Makefile for the kernel image.
2
3u=/usr
4MDEC=	/usr/mdec
5
6# Specify the programs that are part of the system image.
7PROGRAMS=	../kernel/kernel \
8	../servers/ds/ds \
9	../servers/rs/rs \
10	../servers/pm/pm \
11	../servers/sched/sched \
12	../servers/vfs/vfs \
13	../drivers/memory/memory \
14	../drivers/log/log \
15	../drivers/tty/tty \
16	../servers/mfs/mfs \
17	../servers/vm/vm \
18	../servers/pfs/pfs \
19	../servers/init/init
20
21usage:
22	@echo " " >&2
23	@echo "Master Makefile to create new MINIX configuration." >& 2
24	@echo "Root privileges are required." >&2
25	@echo " " >&2
26	@echo "Usage:" >&2
27	@echo "	make includes   # Install include files" >&2
28	@echo "	make depend     # Generate dependency files" >&2
29	@echo "	make libraries  # Make system libraries" >&2
30	@echo "	make services   # Compile and install all services" >&2
31	@echo "	make image      # Make needed services and create boot image" >&2
32	@echo "	make install    # Make image, and install to hard disk" >&2
33	@echo "	make hdboot     # Make image, and install to hard disk" >&2
34	@echo "	make fdboot     # Make image, and install to floppy disk" >&2
35	@echo "	make bootable   # Make hard disk bootable" >&2
36	@echo "	make clean      # Remove all compiler results, except libs" >&2
37	@echo " " >&2
38	@echo "To create a fresh MINIX configuration, try:" >&2
39	@echo "	make clean install      # new boot image" >&2
40	@echo "	make fresh install      # new everything" >&2
41	@echo " " >&2
42
43all: services image
44
45image:  includes services
46	installboot -image $@ $(PROGRAMS)
47
48# rebuild the program or system libraries
49includes:
50	$(MAKE) -C .. includes
51
52depend: includes
53	$(MAKE) -C ../ depend
54
55services: includes
56	$(MAKE) -C ../kernel
57	$(MAKE) -C ../servers all install
58	$(MAKE) -C ../drivers all install
59
60libraries: includes
61	cd ../lib && sh ack_build.sh clean obj depend all install
62
63# make bootable and place system images
64bootable:
65	exec su root mkboot bootable
66
67hdboot:	image
68	exec sh mkboot $@
69	@sync
70
71fdboot:	image
72	exec su root mkboot $@
73	@sync
74
75install: includes services hdboot
76
77# clean up compile results
78clean:
79	$(MAKE) -C ../kernel $@
80	$(MAKE) -C ../servers $@
81	$(MAKE) -C ../drivers $@
82	rm -rf *.bak image *.iso *.iso.gz cdfdimage rootimage src
83
84cleandepend::
85	$(MAKE) -C ../kernel $@
86	$(MAKE) -C ../servers  $@
87	$(MAKE) -C ../drivers  $@
88