New makefile (src/tools/Makefile) logic:

- make fresh install: still builds new everything (libraries, services, image)
- make clean image: only builds new boot image (about 5 sec. now!)
This commit is contained in:
Jorrit Herder 2005-08-23 12:53:35 +00:00
parent 7bf400a709
commit b4d7de6ee1
6 changed files with 37 additions and 18 deletions

View file

@ -7,6 +7,7 @@ usage:
@echo "Makefile for all device drivers." >&2 @echo "Makefile for all device drivers." >&2
@echo "Usage:" >&2 @echo "Usage:" >&2
@echo " make build # Compile all device drivers locally" >&2 @echo " make build # Compile all device drivers locally" >&2
@echo " make image # Compile drivers in boot image" >&2
@echo " make clean # Remove local compiler results" >&2 @echo " make clean # Remove local compiler results" >&2
@echo " make install # Install drivers to /etc/drivers/" >&2 @echo " make install # Install drivers to /etc/drivers/" >&2
@echo " (requires root privileges)" >&2 @echo " (requires root privileges)" >&2
@ -30,3 +31,12 @@ all install depend clean:
cd ./random && $(MAKE) $@ cd ./random && $(MAKE) $@
cd ./dp8390 && $(MAKE) $@ cd ./dp8390 && $(MAKE) $@
cd ./sb16 && $(MAKE) $@ cd ./sb16 && $(MAKE) $@
image:
cd ./libdriver && $(MAKE) build
cd ./memory && $(MAKE) build
cd ./at_wini && $(MAKE) build
cd ./floppy && $(MAKE) build
cd ./bios_wini && $(MAKE) build
cd ./log && $(MAKE) build
cd ./tty && $(MAKE) build

View file

@ -20,14 +20,13 @@ OBJ = tty.o console.o vidcopy.o keyboard.o pty.o rs232.o
# build local binary # build local binary
all build: $(DRIVER) all build: $(DRIVER)
cd keymaps && $(MAKE) -$(MAKEFLAGS) $@
$(DRIVER): $(OBJ) $(DRIVER): $(OBJ)
$(CC) -o $@ $(LDFLAGS) $(OBJ) $(LIBS) $(CC) -o $@ $(LDFLAGS) $(OBJ) $(LIBS)
install -S 256w $(DRIVER) install -S 256w $(DRIVER)
# install with other drivers # install with other drivers
install: /usr/sbin/$(DRIVER) install: /usr/sbin/$(DRIVER)
cd keymaps && $(MAKE) -$(MAKEFLAGS) $@ cd keymaps && $(MAKE) -$(MAKEFLAGS) install
/usr/sbin/$(DRIVER): $(DRIVER) /usr/sbin/$(DRIVER): $(DRIVER)
install -o root -cs $? $@ install -o root -cs $? $@

View file

@ -169,7 +169,7 @@ PUBLIC void main()
PRIVATE void announce(void) PRIVATE void announce(void)
{ {
/* Display the MINIX startup banner. */ /* Display the MINIX startup banner. */
kprintf("MINIX %s.%s. Copyright 1987-2006 Prentice-Hall, Inc.\n", kprintf("MINIX %s.%s. Copyright 1987-2006 Prentice-Hall, Inc. and contributes.\n",
OS_RELEASE, OS_VERSION); OS_RELEASE, OS_VERSION);
#if (CHIP == INTEL) #if (CHIP == INTEL)

View file

@ -32,10 +32,8 @@ struct proc {
char p_priority; /* current scheduling priority */ char p_priority; /* current scheduling priority */
char p_max_priority; /* maximum scheduling priority */ char p_max_priority; /* maximum scheduling priority */
char p_quantum_size; /* quantum size in ticks */
char p_ticks_left; /* number of scheduling ticks left */ char p_ticks_left; /* number of scheduling ticks left */
char p_history; /* scheduling history ageing algorithm */ char p_quantum_size; /* quantum size in ticks */
short p_block_count; /* times blocked in current quantum */
struct mem_map p_memmap[NR_LOCAL_SEGS]; /* memory map (T, D, S) */ struct mem_map p_memmap[NR_LOCAL_SEGS]; /* memory map (T, D, S) */

View file

@ -7,6 +7,7 @@ usage:
@echo "Makefile for all system servers." >&2 @echo "Makefile for all system servers." >&2
@echo "Usage:" >&2 @echo "Usage:" >&2
@echo " make build # Compile all system servers locally" >&2 @echo " make build # Compile all system servers locally" >&2
@echo " make image # Compile servers in boot image" >&2
@echo " make clean # Remove local compiler results" >&2 @echo " make clean # Remove local compiler results" >&2
@echo " make install # Install servers to /etc/servers/" >&2 @echo " make install # Install servers to /etc/servers/" >&2
@echo " (requires root privileges)" >&2 @echo " (requires root privileges)" >&2
@ -21,3 +22,10 @@ all install depend clean:
cd ./init && $(MAKE) $@ cd ./init && $(MAKE) $@
cd ./inet && $(MAKE) $@ cd ./inet && $(MAKE) $@
image:
cd ./pm && $(MAKE) build
cd ./fs && $(MAKE) build
cd ./rs && $(MAKE) build
cd ./init && $(MAKE) build

View file

@ -1,15 +1,15 @@
# Makefile for the kernel image. # Makefile for the kernel image.
#
u=/usr u=/usr
CC= exec cc CC= exec cc
CFLAGS= -O -D_MINIX -D_POSIX_SOURCE CFLAGS= -O -D_MINIX -D_POSIX_SOURCE
MDEC= /usr/mdec MDEC= /usr/mdec
MAKE= exec make -$(MAKEFLAGS) MAKE= exec make -$(MAKEFLAGS)
# specify the programs that are part of the system image # Specify the programs that are part of the system image.
# only one boot medium driver can actually be loaded, # Multiple boot medium drivers can be included in the image,
# use labels to include multiple driver and set a label # but only one is actually be loaded. The driver to load is
# at the boot monitor to select one # determined by the 'label=...' boot monitor parameter.
PROGRAMS= ../kernel/kernel \ PROGRAMS= ../kernel/kernel \
../servers/pm/pm \ ../servers/pm/pm \
../servers/fs/fs \ ../servers/fs/fs \
@ -33,9 +33,9 @@ usage:
@echo " make includes # Install include files" >&2 @echo " make includes # Install include files" >&2
@echo " make depend # Generate dependency files" >&2 @echo " make depend # Generate dependency files" >&2
@echo " make libraries # Make system libraries" >&2 @echo " make libraries # Make system libraries" >&2
@echo " make programs # Compile and install all programs" >&2 @echo " make services # Compile and install all services" >&2
@echo " make fresh # Make clean, libraries, and programs" >&2 @echo " make fresh # Make clean, libraries, and services" >&2
@echo " make image # Make programs and create system image" >&2 @echo " make image # Make needed services and create boot image" >&2
@echo " make install # Make image, and install to hard disk" >&2 @echo " make install # Make image, and install to hard disk" >&2
@echo " make hdboot # Make image, and install to hard disk" >&2 @echo " make hdboot # Make image, and install to hard disk" >&2
@echo " make fdboot # Make image, and install to floppy disk" >&2 @echo " make fdboot # Make image, and install to floppy disk" >&2
@ -43,18 +43,22 @@ usage:
@echo " make clean # Remove all compiler results, except libs" >&2 @echo " make clean # Remove all compiler results, except libs" >&2
@echo " " >&2 @echo " " >&2
@echo "To create a fresh MINIX configuration, try:" >&2 @echo "To create a fresh MINIX configuration, try:" >&2
@echo " make fresh install" >&2 @echo " make clean install # new boot image" >&2
@echo " make fresh install # new everything" >&2
@echo " " >&2 @echo " " >&2
# create a fresh configuration or system image # create a fresh configuration or system image
fresh: fresh:
cd ../lib && $(MAKE) clean cd ../lib && $(MAKE) clean
$(MAKE) clean $(MAKE) clean
$(MAKE) libraries programs $(MAKE) libraries services
all: image all: image
image: programs image:
cd ../kernel && $(MAKE)
cd ../servers && $(MAKE) image
cd ../drivers && $(MAKE) image
installboot -image $@ $(PROGRAMS) installboot -image $@ $(PROGRAMS)
@ -65,7 +69,7 @@ includes:
depend: includes depend: includes
cd ../ && $(MAKE) depend cd ../ && $(MAKE) depend
programs: includes services: includes
cd ../kernel && $(MAKE) cd ../kernel && $(MAKE)
cd ../servers && $(MAKE) install cd ../servers && $(MAKE) install
cd ../drivers && $(MAKE) install cd ../drivers && $(MAKE) install