File: Makefile

package info (click to toggle)
faumachine 20180503-4
  • links: PTS
  • area: main
  • in suites: buster
  • size: 61,272 kB
  • sloc: ansic: 272,290; makefile: 6,199; asm: 4,251; sh: 3,022; perl: 886; xml: 563; pascal: 311; lex: 214; vhdl: 204
file content (45 lines) | stat: -rw-r--r-- 1,016 bytes parent folder | download
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
#
# 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.
#

SIMULATION_PC := pc.vhdl
CDROM_IMAGE := cdrom.iso

all: cdrom.iso

AS=as -32
LD=ld -melf_i386
ASM_OBJ=\
	boot-cdrom.o \
	main.o \
	gfx_libs.o \
	kbd_ctrl.o \
	pit.o \
	elevator.o 

include $(dir $(shell which faum))/../share/faumachine/vhdl/experiment.mk

%.o:$(EXP_DIR)/%.S
	$(AS) -o $@ $<

cdrom.elf: $(ASM_OBJ)
	$(LD) -T $(EXP_DIR)/boot.lds -o $@ $^

cdrom.bin: cdrom.elf
	objcopy -O binary -j .text -j .rodata -j .data $< $@

cdrom.iso: cdrom.bin
	mkdir cdrom.dir
	mkdir cdrom.dir/isolinux
	cp cdrom.bin 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

clean distclean::
	$(RM) *.o
	$(RM) *.elf
	$(RM) *.bin