hpemung/Makefile
2024-03-20 21:04:48 +01:00

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