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