-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
74 lines (59 loc) · 1.67 KB
/
Makefile
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Names of the compiler and friends
APP_BASE = /opt/human68k/bin/human68k
AS = $(APP_BASE)-as
CC = $(APP_BASE)-gcc
LD = $(APP_BASE)-ld
OBJCOPY = $(APP_BASE)-objcopy
STRIP = $(APP_BASE)-strip
# Where to copy the output exe files to
DEST = release
# libraries and paths
LIBS = -ldos -lm
GFXLIBS = $(LIBS)
TEXTLIBS = $(LIBS)
INCLUDES = -I.
# Compiler flags
ASM_FLAGS = -m68000 -mtune=68000 --register-prefx-optional
LDFLAGS =
CFLAGS = -m68000 -mtune=68000 -std=c99 -fomit-frame-pointer -Wall -Wno-unused-function -Wno-unused-variable -O3
LDSCRIPT =
OCFLAGS = -O xfile
# What our application is named
TARGET = mdf
EXE = $(TARGET).X
all: $(EXE)
# The main application
OBJFILES = build/main.o build/ym2151.o build/mdfourier.o build/MSM6258.o build/key.o build/crc.o
$(EXE): $(OBJFILES)
$(CC) $(LDFLAGS) $(OBJFILES) $(LIBS) -o bin/$(TARGET)
$(OBJCOPY) $(OCFLAGS) bin/$(TARGET) bin/$(EXE)
cp -v bin/$(EXE) $(DEST)
################################
#
# Assembly stuff
#
################################
################################
#
# Main code
#
################################
build/main.o: main.c
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o build/main.o
build/ym2151.o: ym2151.c
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o build/ym2151.o
build/mdfourier.o: mdfourier.c
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o build/mdfourier.o
build/MSM6258.o: MSM6258.c
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o build/MSM6258.o
build/key.o: key.c
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o build/key.o
build/crc.o: crc.c
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o build/crc.o
###############################
#
# Clean up
#
###############################
clean:
rm -f build/*.o bin/$(EXE) bin/$(TARGET)