45 lines · 859 B · Makefile
RawDownload
CONF=pc64 ARCH = amd64RUSTC = rustcCC = gccLD = ldAS = nasmOBJCOPY = objcopyQEMU = qemu-system-x86_64 LDFLAGS = --gc-sections -z max-page-size=0x1000 -T $(CONF).ldRUSTFLAGS = -C soft-float -g -O --target=$(CONF).json OBJ= \	$(CONF).o \	l.o\ LIBCORE = libcore.rlib all: 9$(CONF) 9$(CONF): $(OBJ)	$(LD) $(LDFLAGS) -o $@.tmp $(OBJ) $(LIBCORE)	$(OBJCOPY) --strip-debug -F elf32-i386 $@.tmp $@	$(OBJCOPY) --only-keep-debug $@.tmp $@.sym	rm -f $@.tmp debug: 9$(CONF)	$(QEMU) -s -S -kernel $< -serial stdio $(CONF).o: $(CONF).rs $(LIBCORE)	$(RUSTC) $(RUSTFLAGS) -o $@ --emit=obj $< --extern core=$(LIBCORE) %.o: %.c	$(CC) -c -o $@ $< $(CFLAGS) %.o: %.asm	$(AS) -f elf64 -Wall -o $@ $< $(ASFLAGS) libcore.rlib: libcore/lib.rs	$(RUSTC) $(RUSTFLAGS) -o $@ --crate-type=lib --emit=link $< clean:	rm -f 9$(CONF) *.sym *.d *.rlib *.o *.bin