forked from rebecca/BSX
1
0
Fork 0

Compare commits

..

2 Commits
main ... build

Author SHA1 Message Date
Rebecca Buckingham b9d4bdfcd3
Refactored CPU_run 2024-07-24 13:09:43 +01:00
David Jolley e03ceb1871
Makefile made more generic
Uses pkg-config to source locations of libSDL.
As commented in Makefile, *may* cause issues with builds on Mac, but
there are known Mac-isms to make this work.
Also needs the math library for round() as referenced by video.o
This causes builds to start working on Ubuntu 24.04 with the default
SDL2 libraries installed using apt.
Arch is known to need pkg-config to use SDL libs too, but I'm not
sitting at my arch machine at the moment, so no idea if this is complete
for that platform.
A meta-build system *may* be a good idea?
2024-07-24 12:53:53 +01:00
1 changed files with 10 additions and 4 deletions

View File

@ -1,18 +1,24 @@
# Variables
CC = gcc
CFLAGS = -Wall -Wextra -std=c11 -I/usr/local/include/SDL2
LDFLAGS = -L/usr/local/lib -lSDL2
# Probably this won't work on a mac using xcode.
# See https://stackoverflow.com/questions/3071321/how-to-use-pkg-config-for-setting-include-paths-in-xcode
# for possible workarounds?
# != is a GNU make extension, so may also not work on *BSD
SDL_CFLAGS!=pkg-config --cflags sdl2
SDL_LFLAGS!=pkg-config --libs sdl2
CFLAGS = -Wall -Wextra -std=c11 $(SDL_CFLAGS)
LDFLAGS = $(SDL_LFLAGS) -lm
SRC_DIR = src
SOURCES = $(wildcard $(SRC_DIR)/*.c)
OBJECTS = $(SOURCES:$(SRC_DIR)/%.c=%.o)
TARGET = bsx
# Default target
all: $(TARGET)
all: $(TARGET) Makefile
# Linking
$(TARGET): $(OBJECTS)
$(CC) $(LDFLAGS) -o $@ $^
$(CC) -o $@ $^ $(LDFLAGS)
# Compiling
%.o: $(SRC_DIR)/%.c