| 1 | CROSS = m68k-elf-\r |
| 2 | CC = $(CROSS)gcc\r |
| 3 | AS = $(CROSS)as\r |
| 4 | LD = $(CROSS)ld\r |
| 5 | OBJCOPY = $(CROSS)objcopy\r |
| 6 | \r |
| 7 | ASFLAGS += -m68000 --register-prefix-optional --bitwise-or -pic\r |
| 8 | CPPFLAGS += -Wa,-m68000 -Wa,--register-prefix-optional -Wa,--bitwise-or -Wa,-pic\r |
| 9 | \r |
| 10 | TARGET = hexed.bin\r |
| 11 | OBJS = sega_gcc.o hexed.o transfer.o font.o\r |
| 12 | \r |
| 13 | all: $(TARGET)\r |
| 14 | \r |
| 15 | $(TARGET): a.out\r |
| 16 | $(OBJCOPY) -I elf32-m68k -O binary $^ $@\r |
| 17 | \r |
| 18 | a.out: $(OBJS)\r |
| 19 | $(LD) -Tmd.ld -Map $(TARGET).map $^\r |
| 20 | \r |
| 21 | clean:\r |
| 22 | $(RM) $(TARGET) $(OBJS) $(TARGET).map a.out pc_transfer\r |
| 23 | \r |
| 24 | \r |
| 25 | pc_transfer: pc_transfer.c\r |
| 26 | gcc -Wall -O2 -ggdb -o $@ $^ -lz\r |
| 27 | \r |
| 28 | %.o: %.S\r |
| 29 | $(CC) -c -o $@ $^ $(CPPFLAGS)\r |
| 30 | \r |
| 31 | %.bin: %.o\r |
| 32 | $(OBJCOPY) -I elf32-m68k -O binary $^ $@\r |
| 33 | \r |
| 34 | \r |
| 35 | # ----------- release -----------\r |
| 36 | ifneq ($(findstring rel,$(MAKECMDGOALS)),)\r |
| 37 | ifeq ($(VER),)\r |
| 38 | $(error need VER)\r |
| 39 | endif\r |
| 40 | endif\r |
| 41 | \r |
| 42 | rel: hexed.bin readme.txt src\r |
| 43 | zip -9 -r hexed_r$(VER).zip $^\r |
| 44 | rm -rf src\r |
| 45 | \r |
| 46 | src: hexed.s font.s sega_gcc.s md.ld Makefile\r |
| 47 | mkdir src\r |
| 48 | cp $^ src/\r |