|
|
1.1 root 1: #
2: # Makefile for linux.
3: # If you don't have '-mstring-insns' in your gcc (and nobody but me has :-)
4: # remove them from the CFLAGS defines.
5: #
6:
7: AS86 =as -0 -a
8: CC86 =cc -0
9: LD86 =ld -0
10:
11: AS =gas
12: LD =gld
13: LDFLAGS =-s -x -M
14: CC =gcc
15: CFLAGS =-Wall -O -fstrength-reduce -fomit-frame-pointer -fcombine-regs
16: CPP =gcc -E -nostdinc -Iinclude
17:
18: ARCHIVES=kernel/kernel.o mm/mm.o fs/fs.o
19: LIBS =lib/lib.a
20:
21: .c.s:
22: $(CC) $(CFLAGS) \
23: -nostdinc -Iinclude -S -o $*.s $<
24: .s.o:
25: $(AS) -c -o $*.o $<
26: .c.o:
27: $(CC) $(CFLAGS) \
28: -nostdinc -Iinclude -c -o $*.o $<
29:
30: all: Image
31:
32: Image: boot/boot tools/system tools/build
33: tools/build boot/boot tools/system > Image
34: sync
35:
36: tools/build: tools/build.c
37: $(CC) $(CFLAGS) \
38: -o tools/build tools/build.c
39: chmem +65000 tools/build
40:
41: boot/head.o: boot/head.s
42:
43: tools/system: boot/head.o init/main.o \
44: $(ARCHIVES) $(LIBS)
45: $(LD) $(LDFLAGS) boot/head.o init/main.o \
46: $(ARCHIVES) \
47: $(LIBS) \
48: -o tools/system > System.map
49:
50: kernel/kernel.o:
51: (cd kernel; make)
52:
53: mm/mm.o:
54: (cd mm; make)
55:
56: fs/fs.o:
57: (cd fs; make)
58:
59: lib/lib.a:
60: (cd lib; make)
61:
62: boot/boot: boot/boot.s tools/system
63: (echo -n "SYSSIZE = (";ls -l tools/system | grep system \
64: | cut -c25-31 | tr '\012' ' '; echo "+ 15 ) / 16") > tmp.s
65: cat boot/boot.s >> tmp.s
66: $(AS86) -o boot/boot.o tmp.s
67: rm -f tmp.s
68: $(LD86) -s -o boot/boot boot/boot.o
69:
70: clean:
71: rm -f Image System.map tmp_make boot/boot core
72: rm -f init/*.o boot/*.o tools/system tools/build
73: (cd mm;make clean)
74: (cd fs;make clean)
75: (cd kernel;make clean)
76: (cd lib;make clean)
77:
78: backup: clean
79: (cd .. ; tar cf - linux | compress16 - > backup.Z)
80: sync
81:
82: dep:
83: sed '/\#\#\# Dependencies/q' < Makefile > tmp_make
84: (for i in init/*.c;do echo -n "init/";$(CPP) -M $$i;done) >> tmp_make
85: cp tmp_make Makefile
86: (cd fs; make dep)
87: (cd kernel; make dep)
88: (cd mm; make dep)
89:
90: ### Dependencies:
91: init/main.o : init/main.c include/unistd.h include/sys/stat.h \
92: include/sys/types.h include/sys/times.h include/sys/utsname.h \
93: include/utime.h include/time.h include/linux/tty.h include/termios.h \
94: include/linux/sched.h include/linux/head.h include/linux/fs.h \
95: include/linux/mm.h include/asm/system.h include/asm/io.h include/stddef.h \
96: include/stdarg.h include/fcntl.h
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.