]> git.sesse.net Git - pistorm/blob - Makefile
Creepy CDTV experiments
[pistorm] / Makefile
1 EXENAME          = emulator
2
3 MAINFILES        = emulator.c \
4         memory_mapped.c \
5         config_file/config_file.c \
6         input/input.c \
7         gpio/gpio.c \
8         platforms/platforms.c \
9         platforms/amiga/amiga-autoconf.c \
10         platforms/amiga/amiga-platform.c \
11         platforms/amiga/amiga-registers.c \
12         platforms/dummy/dummy-platform.c \
13         platforms/dummy/dummy-registers.c \
14         platforms/amiga/Gayle.c \
15         platforms/amiga/gayle-ide/ide.c \
16         platforms/amiga/cdtv-dmac.c \
17         platforms/amiga/rtg/rtg.c \
18         platforms/amiga/rtg/rtg-output.c \
19         platforms/amiga/rtg/rtg-gfx.c \
20         platforms/shared/rtc.c
21
22 MUSASHIFILES     = m68kcpu.c m68kdasm.c softfloat/softfloat.c
23 MUSASHIGENCFILES = m68kops.c
24 MUSASHIGENHFILES = m68kops.h
25 MUSASHIGENERATOR = m68kmake
26
27 # EXE = .exe
28 # EXEPATH = .\\
29 EXE =
30 EXEPATH = ./
31
32 .CFILES   = $(MAINFILES) $(MUSASHIFILES) $(MUSASHIGENCFILES)
33 .OFILES   = $(.CFILES:%.c=%.o)
34
35 CC        = gcc
36 WARNINGS  = -Wall -Wextra -pedantic
37 CFLAGS    = $(WARNINGS) -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8 -O3
38 LFLAGS    = $(WARNINGS) `sdl2-config --libs`
39
40 TARGET = $(EXENAME)$(EXE)
41
42 DELETEFILES = $(MUSASHIGENCFILES) $(MUSASHIGENHFILES) $(.OFILES) $(TARGET) $(MUSASHIGENERATOR)$(EXE)
43
44
45 all: $(TARGET)
46
47 clean:
48         rm -f $(DELETEFILES)
49
50
51 $(TARGET): $(MUSASHIGENHFILES) $(.OFILES) Makefile
52         $(CC) -o $@ $(.OFILES) -O3 -pthread $(LFLAGS) -lm
53
54 $(MUSASHIGENCFILES) $(MUSASHIGENHFILES): $(MUSASHIGENERATOR)$(EXE)
55         $(EXEPATH)$(MUSASHIGENERATOR)$(EXE)
56
57 $(MUSASHIGENERATOR)$(EXE):  $(MUSASHIGENERATOR).c
58         $(CC) -o  $(MUSASHIGENERATOR)$(EXE)  $(MUSASHIGENERATOR).c