Newer
Older
CFLAGS = $(autodepend) -g -Wall -Wno-pointer-arith
loader.bin: arch/x64/boot32.o arch/x64/loader32.ld
$(LD) -nostartfiles -static -nodefaultlibs -o $@ \
$(filter-out %.bin, $(^:%.ld=-T %.ld))
arch/x64/boot32.o: loader.elf
drivers = drivers/vga.o drivers/console.o
objects += pthread.o
libstdc++.a = $(shell $(CXX) -static -print-file-name=libstdc++.a)
libsupc++.a = $(shell $(CXX) -static -print-file-name=libsupc++.a)
libgcc_s.a = $(shell $(CXX) -static -print-libgcc-file-name)
loader.elf: arch/x64/boot.o arch/x64/loader.ld loader.o runtime.o $(drivers) \
$(libstdc++.a) $(libsupc++.a) $(libgcc_s.a) libunwind.a
dummy-shlib.so: dummy-shlib.o
$(CXX) -nodefaultlibs -shared -o $@ $^
jdk-jni.h := $(shell rpm -ql java-1.7.0-openjdk-devel | grep include/jni.h$$)
jdkbase := $(jdk-jni.h:%/include/jni.h=%)
bootfs.bin: scripts/mkbootfs.py bootfs.manifest
scripts/mkbootfs.py -o $@ -d $@.d -m bootfs.manifest \
-D jdkbase=$(jdkbase)
bootfs.o: bootfs.bin
runtime.o: ctype-data.h
ctype-data.h: gen-ctype-data
./gen-ctype-data > $@
clean:
find -name '*.[od]' | xargs rm
rm -f loader.elf loader.bin