1 # This is the top leve Makefile of AquilaOS
5 # build-kernel - build kernel image in kernel/{ARCH}/kernel-{VERSION}.{ARCH}
6 # install-kernel - install kernel image into {DESTDIR}/boot/kernel
7 # clean-kernel - clean kernel source tree
9 # build-system - build system components
10 # install-system - install system components into {DESTDIR}/
11 # clean-system - clean system source tree
13 # build-initrd - build ramdisk image in initrd/initrd.img
14 # install-initrd - install ramdisk image into {DESTDIR}/boot/initrd.img
15 # clean-initrd - clean ramdisk source tree
17 # build-all - build everything
18 # install-all - install everything
19 # clean-all - clean everything
25 SRCDIR
:= $(TRAVIS_BUILD_DIR
)
40 include $(SRCDIR
)/configs
/$(CONFIG
).mk
48 STRIP
=/opt
/aquila
/bin
/i686-aquila-strip
51 MAKEFLAGS
+= --no-print-directory
53 GRUB_MKRESCUE
= $(shell command
-v grub2-mkrescue
2> /dev
/null
)
54 ifeq ($(GRUB_MKRESCUE
),)
55 GRUB_MKRESCUE
= grub-mkrescue
58 DESTDIR
= $(SRCDIR
)/sysroot
60 .PHONY
: build-all install-all clean-all
80 .PHONY
: build-kernel clean-kernel install-kernel
82 $(MAKE
) -C
$(SRCDIR
)/kernel
/
85 $(MAKE
) -C
$(SRCDIR
)/kernel
/ install
88 $(MAKE
) -C
$(SRCDIR
)/kernel
/ clean
94 .PHONY
: build-initrd install-initrd clean-initrd
95 build-initrd
: build-system
96 $(MAKE
) -C
$(SRCDIR
)/initrd
/
98 install-initrd
: build-initrd
99 $(MAKE
) -C
$(SRCDIR
)/initrd
/ install
102 $(MAKE
) -C
$(SRCDIR
)/initrd
/ clean
108 .PHONY
: build-system install-system clean-system
110 $(MAKE
) -C
$(SRCDIR
)/system
/
112 install-system
: build-system
113 $(MAKE
) -C
$(SRCDIR
)/system
/ install
116 $(MAKE
) -C
$(SRCDIR
)/system
/ clean
118 .PHONY
: iso
/kernel.elf.gz
119 iso
/kernel.elf.gz
: build-kernel
120 $(BASH
) -c
"if [[ ! -e iso ]]; then mkdir iso; fi"
121 $(CP
) kernel
/arch
/$(ARCH
)/kernel-
$(VERSION
).
$(ARCH
) iso
/kernel.elf
122 gzip
-f iso
/kernel.elf
124 .PHONY
: iso
/initrd.img.gz
125 iso
/initrd.img.gz
: build-initrd
126 $(BASH
) -c
"if [[ ! -e iso ]]; then mkdir iso; fi"
127 cp initrd
/initrd.img iso
/initrd.img
128 gzip
-f iso
/initrd.img
132 qemu-kvm
-cdrom aquila.iso
-hda hd.img
-serial stdio
-m
2G
-d cpu_reset
-no-reboot
-boot d
134 aquila.iso
: iso
/kernel.elf.gz iso
/initrd.img.gz
135 $(GRUB_MKRESCUE
) -d
/usr
/lib
/grub
/i386-pc
/ -o aquila.iso iso
/
136 # #$(GRUB_MKRESCUE) -d /usr/lib/grub/i386-pc/ --install-modules="multiboot normal videoinfo videotest gzio" --locales="en@quot" --fonts=ascii -o aquila.iso iso/