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
|
#
# Copyright (C) 2017 FAUmachine Team <info@faumachine.org>.
# This program is free software. You can redistribute it and/or modify it
# under the terms of the GNU General Public License, either version 2 of
# the License, or (at your option) any later version. See COPYING.
#
all: cdrom.iso
SIMULATION_PC := pc-1.vhdl
CDROM_IMAGE := cdrom.iso
CHANGE_DISK_SIZE := 32
CHANGE_MEM_SIZE := 64
include $(dir $(shell which faum))/../share/faumachine/vhdl/experiment.mk
AS=as -32
LD=ld -m elf_i386
SSRC := boot-cdrom.S gfx_libs.S main.S setup_comp.S
OBJS := $(SSRC:.S=.o)
SSRC := $(addprefix $(EXP_DIR),$(SSRC))
%.o: $(EXP_DIR)/%.S
$(AS) -o $*.o $(EXP_DIR)/$*.S
boot-cdrom.elf: $(EXP_DIR)/boot.lds $(OBJS)
$(LD) -T $(EXP_DIR)/boot.lds -o $@ $(OBJS)
clean distclean::
$(RM) *.o
$(RM) -f boot-cdrom.elf
$(RM) boot-cdrom
boot-cdrom: boot-cdrom.elf
objcopy -O binary -j .text -j .rodata -j .data $< $@
cdrom.iso: boot-cdrom
mkdir cdrom.dir
mkdir cdrom.dir/isolinux
cp boot-cdrom cdrom.dir/isolinux/isolinux.bin
genisoimage -r -T -b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-info-table -o cdrom.iso cdrom.dir
rm -rf cdrom.dir
distclean::
rm -f cdrom.iso
|