don't call mkdep with an absolute path
[minix3.git] / kernel / Makefile
blob1b537261455a3d54a92b05445cbaa538f4579ddf
1 # Makefile for kernel
3 include /etc/make.conf
5 # Directories
6 u = /usr
7 i = $u/include
8 l = $u/lib
9 s = system
10 a = arch/$(ARCH)
12 # Programs, flags, etc.
13 CC = exec cc
14 CPP = $l/cpp
15 LD = $(CC) -.o
16 CPPFLAGS=-I$i -I$a/include
17 CFLAGS=$(CPROFILE) $(CPPFLAGS)
18 LDFLAGS=-i
20 # first-stage, arch-dependent startup code
21 HEAD = head.o
22 FULLHEAD = $a/$(HEAD)
24 OBJS = start.o table.o main.o proc.o \
25 system.o clock.o utility.o debug.o profile.o interrupt.o
26 SYSTEM = system.a
27 ARCHLIB = $a/$(ARCH).a
28 LIBS = -ltimers -lsysutil
30 # What to make.
31 all: build
32 kernel build install: $(HEAD) $(OBJS)
33 cd system && $(MAKE) $@
34 cd $a && $(MAKE) $@
35 $(LD) $(CFLAGS) $(LDFLAGS) -o kernel $(FULLHEAD) $(OBJS) \
36 $(SYSTEM) $(ARCHLIB) $(LIBS)
37 install -S 0 kernel
39 clean:
40 cd system && $(MAKE) -$(MAKEFLAGS) $@
41 cd $a && $(MAKE) -$(MAKEFLAGS) $@
42 rm -f *.a *.o *~ *.bak kernel
44 depend:
45 cd system && $(MAKE) -$(MAKEFLAGS) $@
46 cd $a && $(MAKE) $@
47 mkdep "$(CC) -E $(CPPFLAGS)" *.c > .depend
49 # How to build it
50 .c.o:
51 $(CC) $(CFLAGS) -c -o $@ $<
53 $(HEAD):
54 cd $a && make HEAD=$(HEAD) $(HEAD)
56 # Include generated dependencies.
57 include .depend