File: Makefile

package info (click to toggle)
cowdancer 0.90
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 648 kB
  • sloc: ansic: 4,593; sh: 407; makefile: 142; cpp: 5
file content (61 lines) | stat: -rw-r--r-- 2,577 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
KLCC=klcc

all: qemuinit-static qemuinit-static-klibc initrd.gz

%-static: %.o ../forkexec.o ../file.o
	$(CC) -static -O2 -Wall -o $@ $^

%.o: %.c
	$(CC) -c -O2 -Wall -o $@ $^

%-static-klibc: %.c ../forkexec.c ../file.c
	$(KLCC) -Wall -o $@ $^

initrd.gz: qemuinit-static-klibc Makefile
	-mkdir .initrd
	-mkdir .initrd/bin
	-mkdir .initrd/lib
	-mkdir .initrd/etc
	-mkdir -p .initrd/lib/modules/linux-live/kernel/drivers/ide/
	-mkdir -p .initrd/lib/modules/linux-live/kernel/drivers/net/
	-mkdir -p .initrd/lib/modules/linux-live/kernel/fs/ext2
	-mkdir -p .initrd/lib/modules/linux-live/kernel/fs/ext3
	-mkdir -p .initrd/lib/modules/linux-live/kernel/fs/jbd
	-ln -sf ../qemuinit-static-klibc .initrd/init
	-ln -sf /usr/lib/klibc/bin/insmod .initrd/bin/insmod
	-ln -sf /usr/lib/klibc/bin/sh.shared .initrd/bin/sh
	-ln -sf /lib/klibc*.so .initrd/lib/
	-ln -sf /lib/klibc*.so .initrd/lib/
	-ln -sf /lib/modules/$(shell uname -r)/kernel/drivers/ide/ide-core.ko .initrd/lib/modules/linux-live/kernel/drivers/ide/
	-ln -sf /lib/modules/$(shell uname -r)/kernel/drivers/ide/ide-disk.ko .initrd/lib/modules/linux-live/kernel/drivers/ide/
	-ln -sf /lib/modules/$(shell uname -r)/kernel/drivers/ide/ide-generic.ko .initrd/lib/modules/linux-live/kernel/drivers/ide/
	-ln -sf /lib/modules/$(shell uname -r)/kernel/drivers/net/8390.ko .initrd/lib/modules/linux-live/kernel/drivers/net/
	-ln -sf /lib/modules/$(shell uname -r)/kernel/drivers/net/ne2k-pci.ko .initrd/lib/modules/linux-live/kernel/drivers/net/
	-ln -sf /lib/modules/$(shell uname -r)/kernel/fs/jbd/jbd.ko .initrd/lib/modules/linux-live/kernel/fs/jbd/
	-ln -sf /lib/modules/$(shell uname -r)/kernel/fs/mbcache.ko .initrd/lib/modules/linux-live/kernel/fs/
	-ln -sf /lib/modules/$(shell uname -r)/kernel/fs/ext2/ext2.ko .initrd/lib/modules/linux-live/kernel/fs/ext2/
	-ln -sf /lib/modules/$(shell uname -r)/kernel/fs/ext3/ext3.ko .initrd/lib/modules/linux-live/kernel/fs/ext3/
	cd .initrd && find . | cpio --dereference -H newc -o > ../$@.1.tmp
	gzip -9 -n < $@.1.tmp > $@.2.tmp
	rm $@.1.tmp
	mv $@.2.tmp $@

check: initrd.gz
	# this assumes you're running on amd64.
	[ $(shell uname -m) = x86_64 ]
	qemu-system-x86_64 -kernel /boot/vmlinuz-$(shell uname -r) \
		-nographic \
		-hda /var/cache/pbuilder/base-i386.qemu \
		-hdb /dev/zero \
		-initrd ./initrd.gz \
		-serial stdio \
		-append "quiet console=ttyS0 pbuilderarch=i386 "

clean:
	rm -f qemuinit-static qemuinit-static-klibc *.o *~ initrd.gz 
	rm -rf .initrd

check-syntax:
	$(CC) -c -O2 -Wall $(CHK_SOURCES)  -o/dev/null -D LIBDIR="\"${LIBDIR}\""

.PHONY: clean check