Mercurial > repos > genjam1
annotate Makefile @ 9:5ec4707a3fd1
Forgot to add creep.c
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 12 Jan 2014 16:03:33 -0800 |
parents | b4d360d2e66c |
children |
rev | line source |
---|---|
0 | 1 CC = m68k-elf-gcc |
2 AS = m68k-elf-as | |
3 OBJC = m68k-elf-objcopy | |
4 LD = m68k-elf-ld | |
5 RM = rm -f | |
6 ASMZ80 = zasm | |
7 BINTOS = bintos | |
8 PCMTORAW = pcmtoraw | |
9 WAVTORAW = wavtoraw | |
10 NM = nm | |
11 NM2WCH = nm2wch | |
12 SIZEBND = sizebnd | |
13 MKISOFS = mkisofs | |
14 | |
15 SCD_LOADER = scd/LukeProjectCD | |
16 | |
17 OPTION = | |
18 INCS = -I. -I$(GENDEV)/m68k-elf/include -I$(GENDEV)/m68k-elf/m68k-elf/include -Isrc -Ires | |
19 CCFLAGS = $(OPTION) -m68000 -Wall -O2 -c -fomit-frame-pointer | |
20 HWCCFLAGS = $(OPTION) -m68000 -Wall -O1 -c -fomit-frame-pointer | |
21 Z80FLAGS = -vb2 | |
22 ASFLAGS = -m68000 --register-prefix-optional | |
3
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
23 #LIBS = -L$(GENDEV)/m68k-elf/lib -L$(GENDEV)/m68k-elf/lib/gcc/m68k-elf/4.5.2 -L$(GENDEV)/m68k-elf/m68k-elf/lib -lmd -lc -lgcc -lnosys -lm |
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
24 LIBS = -L$(GENDEV)/m68k-elf/lib -L$(GENDEV)/m68k-elf/lib/gcc/m68k-elf/4.8.2 -L$(GENDEV)/m68k-elf/m68k-elf/lib -lmd -lnosys |
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
25 LINKFLAGS = -T $(GENDEV)/ldscripts/sgdk.ld -nostdlib |
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
26 SCDLINKFLAGS = -T scd/mdcd.ld -nostdlib |
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
27 ARCHIVES = $(GENDEV)/m68k-elf/lib/libmd.a $(GENDEV)/m68k-elf/lib/gcc/m68k-elf/4.8.2/libgcc.a |
0 | 28 |
29 RESOURCES= | |
30 BOOT_RESOURCES= | |
31 | |
32 BOOTSS=$(wildcard boot/*.s) | |
33 BOOTSS+=$(wildcard src/boot/*.s) | |
34 BOOT_RESOURCES+=$(BOOTSS:.s=.o) | |
35 | |
36 SCDBOOTSS=$(wildcard scd/*.s) | |
37 SCDBOOTSS+=$(wildcard src/scd/*.s) | |
38 SCDBOOT_RESOURCES=$(SCDBOOTSS:.s=.o) | |
39 | |
40 BMPS=$(wildcard res/*.bmp) | |
41 VGMS=$(wildcard res/*.vgm) | |
42 RAWS=$(wildcard res/*.raw) | |
43 PCMS=$(wildcard res/*.pcm) | |
44 MVSS=$(wildcard res/*.mvs) | |
45 TFDS=$(wildcard res/*.tfd) | |
46 WAVS=$(wildcard res/*.wav) | |
47 WAVPCMS=$(wildcard res/*.wavpcm) | |
48 BMPS+=$(wildcard *.bmp) | |
49 VGMS+=$(wildcard *.vgm) | |
50 RAWS+=$(wildcard *.raw) | |
51 PCMS+=$(wildcard *.pcm) | |
52 MVSS+=$(wildcard *.mvs) | |
53 TFDS+=$(wildcard *.tfd) | |
54 WAVS+=$(wildcard *.wav) | |
55 WAVPCMS+=$(wildcard *.wavpcm) | |
56 RESOURCES+=$(BMPS:.bmp=.o) | |
57 RESOURCES+=$(VGMS:.vgm=.o) | |
58 RESOURCES+=$(RAWS:.raw=.o) | |
59 RESOURCES+=$(PCMS:.pcm=.o) | |
60 RESOURCES+=$(MVSS:.mvs=.o) | |
61 RESOURCES+=$(TFDS:.tfd=.o) | |
62 RESOURCES+=$(WAVS:.wav=.o) | |
63 RESOURCES+=$(WAVPCMS:.wavpcm=.o) | |
64 | |
65 CS=$(wildcard src/*.c) | |
66 SS=$(wildcard src/*.s) | |
67 S80S=$(wildcard src/*.s80) | |
68 CS+=$(wildcard *.c) | |
69 SS+=$(wildcard *.s) | |
70 S80S+=$(wildcard *.s80) | |
71 RESOURCES+=$(CS:.c=.o) | |
72 RESOURCES+=$(SS:.s=.o) | |
73 RESOURCES+=$(S80S:.s80=.o) | |
74 | |
75 OBJS = $(RESOURCES) | |
76 | |
3
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
77 all: out.bin |
0 | 78 |
79 boot/sega.o: boot/rom_head.bin | |
80 $(AS) $(ASFLAGS) boot/sega.s -o $@ | |
81 | |
3
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
82 scd/segacd.o: |
0 | 83 $(AS) $(ASFLAGS) scd/segacd.s -o $@ |
84 | |
85 | |
86 out.iso: out.elf_scd | |
87 # | |
88 # Create a sega cd image. Limited to 256K or smaller Roms | |
89 # | |
90 $(NM) -n -S -t x out.elf_scd > out.nm | |
91 $(OBJC) -O binary out.elf_scd out.bin | |
3
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
92 $(SIZEBND) out.bin -sizealign 131072 |
0 | 93 $(OBJC) -O binary out.elf_scd $(SCD_LOADER)/_filesystem/M_INIT.PRG |
3
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
94 $(SIZEBND) $(SCD_LOADER)/_filesystem/M_INIT.PRG -sizealign 131072 |
0 | 95 $(MKISOFS) -iso-level 1 -o $(SCD_LOADER)/filesystem.img -pad $(SCD_LOADER)/_filesystem |
96 tail -c +32769 $(SCD_LOADER)/filesystem.img > $(SCD_LOADER)/filesystem.bin | |
97 $(RM) -f $(SCD_LOADER)/filesystem.img | |
98 cd $(SCD_LOADER) && $(AS) $(ASFLAGS) -M -ahlsm=listing.asm main-us-as.asm -o out.iso | |
99 tail -c +53 $(SCD_LOADER)/out.iso > out.iso | |
100 $(RM) -f $(SCD_LOADER)/filesystem.bin | |
101 | |
102 %.bin: %.elf | |
103 $(OBJC) -O binary $< temp.bin | |
104 dd if=temp.bin of=$@ bs=8K conv=sync | |
105 | |
106 %.elf: $(OBJS) $(BOOT_RESOURCES) | |
107 $(CC) -o $@ $(LINKFLAGS) $(BOOT_RESOURCES) $(ARCHIVES) $(OBJS) $(LIBS) | |
108 | |
109 %.elf_scd: $(OBJS) $(SCDBOOT_RESOURCES) | |
110 $(CC) -o $@ $(SCDLINKFLAGS) $(SCDBOOT_RESOURCES) $(ARCHIVES) $(OBJS) $(LIBS) | |
111 | |
112 %.o80: %.s80 | |
113 $(ASMZ80) $(Z80FLAGS) -o $@ $< | |
114 | |
115 %.c: %.o80 | |
116 $(BINTOS) $< | |
117 | |
118 %.o: %.c | |
119 $(CC) $(CCFLAGS) $(INCS) -c $< -o $@ | |
120 | |
3
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
121 %.o: %.s |
0 | 122 $(AS) $(ASFLAGS) $< -o $@ |
123 | |
124 %.s: %.bmp | |
125 bintos -bmp $< | |
126 | |
127 %.rawpcm: %.pcm | |
128 $(PCMTORAW) $< $@ | |
129 | |
130 %.raw: %.wav | |
131 $(WAVTORAW) $< $@ 16000 | |
132 | |
133 %.pcm: %.wavpcm | |
134 $(WAVTORAW) $< $@ 22050 | |
135 | |
136 #%.tfc: %.tfd | |
137 # $(TFMCOM) $< | |
138 | |
139 #%.o80: %.s80 | |
140 # $(ASMZ80) $(FLAGSZ80) $< $@ out.lst | |
141 | |
142 %.s: %.tfd | |
143 $(BINTOS) -align 32768 $< | |
144 | |
145 %.s: %.mvs | |
146 $(BINTOS) -align 256 $< | |
147 | |
148 %.s: %.esf | |
149 $(BINTOS) -align 32768 $< | |
150 | |
151 %.s: %.eif | |
152 $(BINTOS) -align 256 $< | |
153 | |
3
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
154 %.s: %.vgm |
0 | 155 $(BINTOS) -align 256 $< |
156 | |
157 %.s: %.raw | |
158 $(BINTOS) -align 256 -sizealign 256 $< | |
159 | |
160 %.s: %.rawpcm | |
161 $(BINTOS) -align 128 -sizealign 128 -nullfill 136 $< | |
162 | |
163 %.s: %.rawpcm | |
164 $(BINTOS) -align 128 -sizealign 128 -nullfill 136 $< | |
165 | |
166 boot/rom_head.bin: boot/rom_head.o | |
167 $(LD) $(LINKFLAGS) --oformat binary -o $@ $< | |
3
b4d360d2e66c
Update library paths in makefile
Mike Pavone <pavone@retrodev.com>
parents:
0
diff
changeset
|
168 |
0 | 169 |
170 clean: | |
171 $(RM) $(RESOURCES) | |
172 $(RM) *.o *.bin *.elf *.elf_scd *.map *.iso | |
173 $(RM) boot/*.o boot/*.bin |