63 lines
2 KiB
Makefile
63 lines
2 KiB
Makefile
CC = gcc
|
|
LIBS = $(shell pkg-config --libs sdl2 SDL2_ttf)
|
|
CFLAGS = -Wall -Werror -O3 -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=missing-braces -Wno-error=incompatible-pointer-types
|
|
|
|
.PHONY: all clean clean-all pretty-code install mrproper
|
|
|
|
all: dist/hpemu
|
|
|
|
dist/hpemu: src/bus.o \
|
|
src/color.o \
|
|
src/cpu.o \
|
|
src/display.o \
|
|
src/emulator.o \
|
|
src/gui.o \
|
|
src/hdw.o \
|
|
src/keyboard.o \
|
|
src/main.o \
|
|
src/opcodes.o \
|
|
src/pcalc.o \
|
|
src/pfiles.o \
|
|
src/ports.o \
|
|
src/ram.o \
|
|
src/rom.o \
|
|
src/rpl.o \
|
|
src/timers.o
|
|
$(CC) $(CFLAGS) $(LIBS) -o $@ $+
|
|
|
|
# Installing
|
|
ROMs/sxrom-a:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/sxrom-a.zip" --output - | funzip > "ROMs/sxrom-a"
|
|
ROMs/sxrom-b:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/sxrom-b.zip" --output - | funzip > "ROMs/sxrom-b"
|
|
ROMs/sxrom-c:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/sxrom-c.zip" --output - | funzip > "ROMs/sxrom-c"
|
|
ROMs/sxrom-d:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/sxrom-d.zip" --output - | funzip > "ROMs/sxrom-d"
|
|
ROMs/sxrom-e:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/sxrom-e.zip" --output - | funzip > "ROMs/sxrom-e"
|
|
ROMs/sxrom-j:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/sxrom-j.zip" --output - | funzip > "ROMs/sxrom-j"
|
|
ROMs/gxrom-l:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/gxrom-l.zip" --output - | funzip > "ROMs/gxrom-l"
|
|
ROMs/gxrom-m:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/gxrom-m.zip" --output - | funzip > "ROMs/gxrom-m"
|
|
ROMs/gxrom-p:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/gxrom-p.zip" --output - | funzip > "ROMs/gxrom-p"
|
|
ROMs/gxrom-r:
|
|
curl "https://www.hpcalc.org/hp48/pc/emulators/gxrom-r.zip" --output - | funzip > "ROMs/gxrom-r"
|
|
|
|
get-roms: ROMs/sxrom-a ROMs/sxrom-b ROMs/sxrom-c ROMs/sxrom-d ROMs/sxrom-e ROMs/sxrom-j ROMs/gxrom-l ROMs/gxrom-m ROMs/gxrom-p ROMs/gxrom-r
|
|
|
|
# Cleaning
|
|
clean:
|
|
-rm src/*.o
|
|
|
|
mrproper: clean
|
|
-rm dist/hpemu
|
|
|
|
clean-all: mrproper
|
|
|
|
# Formatting
|
|
pretty-code:
|
|
clang-format -i src/*.c src/*.h
|