| Rev | Line |   | 
|---|
| [9] | 1 | # Makefile for kernel
 | 
|---|
 | 2 | 
 | 
|---|
 | 3 | # Directories
 | 
|---|
 | 4 | u = /usr
 | 
|---|
 | 5 | i = $u/include
 | 
|---|
 | 6 | l = $u/lib
 | 
|---|
 | 7 | s = system
 | 
|---|
 | 8 | 
 | 
|---|
 | 9 | # Programs, flags, etc.
 | 
|---|
 | 10 | CC =    exec cc
 | 
|---|
 | 11 | CPP =   $l/cpp
 | 
|---|
 | 12 | LD =    $(CC) -.o
 | 
|---|
 | 13 | CFLAGS = -I$i 
 | 
|---|
 | 14 | LDFLAGS = -i 
 | 
|---|
 | 15 | 
 | 
|---|
 | 16 | HEAD =  mpx.o
 | 
|---|
 | 17 | OBJS =  start.o protect.o klib.o table.o kprintf.o main.o proc.o \
 | 
|---|
 | 18 |         i8259.o exception.o system.o clock.o utility.o debug.o
 | 
|---|
 | 19 | SYSTEM = system.a
 | 
|---|
 | 20 | LIBS = -ltimers 
 | 
|---|
 | 21 | 
 | 
|---|
 | 22 | 
 | 
|---|
 | 23 | # What to make.
 | 
|---|
 | 24 | all: build 
 | 
|---|
 | 25 | kernel build install: $(HEAD) $(OBJS) 
 | 
|---|
 | 26 |         cd system && $(MAKE) -$(MAKEFLAGS) $@
 | 
|---|
 | 27 |         $(LD) $(CFLAGS) $(LDFLAGS) -o kernel \
 | 
|---|
 | 28 |         $(HEAD) $(OBJS) \
 | 
|---|
 | 29 |         $(SYSTEM) $(LIBS)
 | 
|---|
 | 30 |         install -S 0 kernel
 | 
|---|
 | 31 | 
 | 
|---|
 | 32 | clean:
 | 
|---|
 | 33 |         cd system && $(MAKE) -$(MAKEFLAGS) $@
 | 
|---|
 | 34 |         rm -f *.a *.o *~ *.bak kernel
 | 
|---|
 | 35 | 
 | 
|---|
 | 36 | depend: 
 | 
|---|
 | 37 |         cd system && $(MAKE) -$(MAKEFLAGS) $@
 | 
|---|
 | 38 |         /usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c *.s > .depend
 | 
|---|
 | 39 | 
 | 
|---|
 | 40 | # How to build it
 | 
|---|
 | 41 | .s.o:
 | 
|---|
 | 42 |         $(CC) $(CFLAGS) -c -o $@ $<
 | 
|---|
 | 43 | 
 | 
|---|
 | 44 | .c.o:
 | 
|---|
 | 45 |         $(CC) $(CFLAGS) -c -o $@ $<
 | 
|---|
 | 46 | 
 | 
|---|
 | 47 | # Include generated dependencies.
 | 
|---|
 | 48 | klib.o: klib386.s klib88.s
 | 
|---|
 | 49 | mpx.o:  mpx386.s mpx88.s
 | 
|---|
 | 50 | include .depend
 | 
|---|
 | 51 | 
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.