]> git.sesse.net Git - pistorm/blob - Makefile
MORE STUFF
[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/rtg/rtg.c \
17         platforms/amiga/rtg/rtg-output.c \
18         platforms/shared/rtc.c
19
20 MUSASHIFILES     = m68kcpu.c softfloat/softfloat.c 
21 MUSASHIGENCFILES = m68kops.c
22 MUSASHIGENHFILES = m68kops.h
23 MUSASHIGENERATOR = m68kmake
24
25 # EXE = .exe
26 # EXEPATH = .\\
27 EXE =
28 EXEPATH = ./
29
30 .CFILES   = $(MAINFILES) $(MUSASHIFILES) $(MUSASHIGENCFILES)
31 .OFILES   = $(.CFILES:%.c=%.o)
32
33 CC        = gcc
34 WARNINGS  = -Wall -Wextra -pedantic
35 CFLAGS    = $(WARNINGS) -march=armv7 -O3
36 LFLAGS    = $(WARNINGS) `sdl2-config --libs`
37
38 TARGET = $(EXENAME)$(EXE)
39
40 DELETEFILES = $(MUSASHIGENCFILES) $(MUSASHIGENHFILES) $(.OFILES) $(TARGET) $(MUSASHIGENERATOR)$(EXE)
41
42
43 all: $(TARGET)
44
45 clean:
46         rm -f $(DELETEFILES)
47
48
49 $(TARGET): $(MUSASHIGENHFILES) $(.OFILES) Makefile
50         $(CC) -o $@ $(.OFILES) -O3 -pthread $(LFLAGS) -lm
51
52 $(MUSASHIGENCFILES) $(MUSASHIGENHFILES): $(MUSASHIGENERATOR)$(EXE)
53         $(EXEPATH)$(MUSASHIGENERATOR)$(EXE)
54
55 $(MUSASHIGENERATOR)$(EXE):  $(MUSASHIGENERATOR).c
56         $(CC) -o  $(MUSASHIGENERATOR)$(EXE)  $(MUSASHIGENERATOR).c