]> git.sesse.net Git - pistorm/blob - Makefile
Add Meson build files.
[pistorm] / Makefile
1 EXENAME          = emulator
2
3 MAINFILES        = emulator.c \
4         memory_mapped.c \
5         config_file/config_file.c \
6         config_file/rominfo.c \
7         input/input.c \
8         gpio/ps_protocol.c \
9         platforms/platforms.c \
10         platforms/amiga/amiga-autoconf.c \
11         platforms/amiga/amiga-platform.c \
12         platforms/amiga/amiga-registers.c \
13         platforms/mac68k/mac68k-platform.c \
14         platforms/dummy/dummy-platform.c \
15         platforms/dummy/dummy-registers.c \
16         platforms/amiga/Gayle.c \
17         platforms/amiga/hunk-reloc.c \
18         platforms/amiga/cdtv-dmac.c \
19         platforms/amiga/rtg/rtg.c \
20         platforms/amiga/rtg/rtg-output-raylib.c \
21         platforms/amiga/rtg/rtg-gfx.c \
22         platforms/amiga/piscsi/piscsi.c \
23         platforms/amiga/pistorm-dev/pistorm-dev.c \
24         platforms/amiga/net/pi-net.c \
25         platforms/shared/rtc.c \
26         platforms/shared/common.c
27
28 MUSASHIFILES     = m68kcpu.c m68kdasm.c softfloat/softfloat.c softfloat/softfloat_fpsp.c
29 MUSASHIGENCFILES = m68kops.c
30 MUSASHIGENHFILES = m68kops.h
31 MUSASHIGENERATOR = m68kmake
32
33 # EXE = .exe
34 # EXEPATH = .\\
35 EXE =
36 EXEPATH = ./
37
38 .CFILES   = $(MAINFILES) $(MUSASHIFILES) $(MUSASHIGENCFILES)
39 .OFILES   = $(.CFILES:%.c=%.o) a314/a314.o
40
41 CC        = gcc
42 CXX       = g++
43 WARNINGS  = -Wall -Wextra -pedantic
44
45 # Pi3 CFLAGS
46 CFLAGS    = $(WARNINGS) -I. -I./raylib -I./raylib/external -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8 -O3 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -lstdc++
47 # Pi4 CFLAGS
48 #CFLAGS    = $(WARNINGS) -I. -I./raylib_pi4_test -I./raylib_pi4_test/external -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8 -O3 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
49
50 # Old SDL2 stuff
51 #LFLAGS    = $(WARNINGS) `sdl2-config --libs`
52
53 # Pi3 standard raylib stuff
54 LFLAGS    = $(WARNINGS) -L/opt/vc/lib -L./raylib -lraylib -lbrcmGLESv2 -lbrcmEGL -lbcm_host -lstdc++
55 # Pi4 experimental crap
56 # Graphics output on the Pi4 sort of REQUIRES X11 to be running, otherwise it is insanely slow and useless.
57 #LFLAGS    = $(WARNINGS) -L/usr/local/lib -L./raylib_pi4_test -lraylib -lGL -ldl -lrt -lX11 -DPLATFORM_DESKTOP
58
59 TARGET = $(EXENAME)$(EXE)
60
61 DELETEFILES = $(MUSASHIGENCFILES) $(MUSASHIGENHFILES) $(.OFILES) $(.OFILES:%.o=%.d) $(TARGET) $(MUSASHIGENERATOR)$(EXE)
62
63
64 all: $(MUSASHIGENCFILES) $(MUSASHIGENHFILES) $(TARGET)
65
66 clean:
67         rm -f $(DELETEFILES)
68
69 $(TARGET):  $(MUSAHIGENCFILES:%.c=%.o) $(.CFILES:%.c=%.o) a314/a314.o
70         $(CC) -o $@ $^ -O3 -pthread $(LFLAGS) -lm -lstdc++
71
72 a314/a314.o: a314/a314.cc a314/a314.h
73         $(CXX) -MMD -MP -c -o a314/a314.o -O3 a314/a314.cc -march=armv8-a -mfloat-abi=hard -mfpu=neon-fp-armv8 -O3 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I. -I..
74
75 $(MUSASHIGENCFILES) $(MUSASHIGENHFILES): $(MUSASHIGENERATOR)$(EXE)
76         $(EXEPATH)$(MUSASHIGENERATOR)$(EXE)
77
78 $(MUSASHIGENERATOR)$(EXE):  $(MUSASHIGENERATOR).c
79         $(CC) -o  $(MUSASHIGENERATOR)$(EXE)  $(MUSASHIGENERATOR).c
80
81 -include $(.CFILES:%.c=%.d) $(MUSASHIGENCFILES:%.c=%.d) a314/a314.d $(MUSASHIGENERATOR).d