]> git.sesse.net Git - pistorm/blob - Makefile
Magically fix PiSCSI custom file system loading from disk
[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/dummy/dummy-platform.c \
14         platforms/dummy/dummy-registers.c \
15         platforms/amiga/Gayle.c \
16         platforms/amiga/hunk-reloc.c \
17         platforms/amiga/cdtv-dmac.c \
18         platforms/amiga/rtg/rtg.c \
19         platforms/amiga/rtg/rtg-output-raylib.c \
20         platforms/amiga/rtg/rtg-gfx.c \
21         platforms/amiga/piscsi/piscsi.c \
22         platforms/amiga/pistorm-dev/pistorm-dev.c \
23         platforms/amiga/net/pi-net.c \
24         platforms/shared/rtc.c \
25         platforms/shared/common.c
26
27 MUSASHIFILES     = m68kcpu.c m68kdasm.c softfloat/softfloat.c softfloat/softfloat_fpsp.c
28 MUSASHIGENCFILES = m68kops.c
29 MUSASHIGENHFILES = m68kops.h
30 MUSASHIGENERATOR = m68kmake
31
32 # EXE = .exe
33 # EXEPATH = .\\
34 EXE =
35 EXEPATH = ./
36
37 .CFILES   = $(MAINFILES) $(MUSASHIFILES) $(MUSASHIGENCFILES)
38 .OFILES   = $(.CFILES:%.c=%.o) a314/a314.o
39
40 CC        = gcc
41 CXX       = g++
42 WARNINGS  = -Wall -Wextra -pedantic
43
44 # Pi3 CFLAGS
45 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++
46 # Pi4 CFLAGS
47 #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
48
49 # Old SDL2 stuff
50 #LFLAGS    = $(WARNINGS) `sdl2-config --libs`
51
52 # Pi3 standard raylib stuff
53 LFLAGS    = $(WARNINGS) -L/opt/vc/lib -L./raylib -lraylib -lbrcmGLESv2 -lbrcmEGL -lbcm_host -lstdc++
54 # Pi4 experimental crap
55 # Graphics output on the Pi4 sort of REQUIRES X11 to be running, otherwise it is insanely slow and useless.
56 #LFLAGS    = $(WARNINGS) -L/usr/local/lib -L./raylib_pi4_test -lraylib -lGL -ldl -lrt -lX11 -DPLATFORM_DESKTOP
57
58 TARGET = $(EXENAME)$(EXE)
59
60 DELETEFILES = $(MUSASHIGENCFILES) $(MUSASHIGENHFILES) $(.OFILES) $(TARGET) $(MUSASHIGENERATOR)$(EXE)
61
62
63 all: $(TARGET)
64
65 clean:
66         rm -f $(DELETEFILES)
67
68
69 $(TARGET): $(MUSASHIGENHFILES) $(.OFILES) Makefile
70         $(CC) -o $@ $(.OFILES) -O3 -pthread $(LFLAGS) -lm -lstdc++
71
72 a314/a314.o: a314/a314.cc a314/a314.h
73         $(CXX) -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