]> git.sesse.net Git - pistorm/blob - Makefile
[WIP] Add platforms, Z2 config file-based autoconf Fast
[pistorm] / Makefile
1 EXENAME          = emulator
2
3 MAINFILES        = emulator.c \
4         Gayle.c \
5         ide.c \
6         memory_mapped.c \
7         config_file/config_file.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
15 MUSASHIFILES     = m68kcpu.c softfloat/softfloat.c 
16 MUSASHIGENCFILES = m68kops.c
17 MUSASHIGENHFILES = m68kops.h
18 MUSASHIGENERATOR = m68kmake
19
20 # EXE = .exe
21 # EXEPATH = .\\
22 EXE =
23 EXEPATH = ./
24
25 .CFILES   = $(MAINFILES) $(MUSASHIFILES) $(MUSASHIGENCFILES)
26 .OFILES   = $(.CFILES:%.c=%.o)
27
28 CC        = gcc
29 WARNINGS  = -Wall -Wextra -pedantic
30 CFLAGS    = $(WARNINGS) -march=armv7 -O3
31 LFLAGS    = $(WARNINGS)
32
33 TARGET = $(EXENAME)$(EXE)
34
35 DELETEFILES = $(MUSASHIGENCFILES) $(MUSASHIGENHFILES) $(.OFILES) $(TARGET) $(MUSASHIGENERATOR)$(EXE)
36
37
38 all: $(TARGET)
39
40 clean:
41         rm -f $(DELETEFILES)
42
43
44 $(TARGET): $(MUSASHIGENHFILES) $(.OFILES) Makefile
45         $(CC) -o $@ $(.OFILES) -O3 -pthread $(LFLAGS) -lm
46
47 $(MUSASHIGENCFILES) $(MUSASHIGENHFILES): $(MUSASHIGENERATOR)$(EXE)
48         $(EXEPATH)$(MUSASHIGENERATOR)$(EXE)
49
50 $(MUSASHIGENERATOR)$(EXE):  $(MUSASHIGENERATOR).c
51         $(CC) -o  $(MUSASHIGENERATOR)$(EXE)  $(MUSASHIGENERATOR).c