Files
progsync/projet/Makefile
Adrien Guatto 7298fa66e1 Projet
2025-11-03 10:30:00 +01:00

74 lines
1.9 KiB
Makefile

include Makefile.version
ASSET_DIR_PATH="\"$(shell pwd)/assets\""
CC?=gcc
CFLAGS=-Wall `pkg-config --cflags sdl2` -I `heptc -where`/c \
-D ASSET_DIR_PATH=$(ASSET_DIR_PATH) -D YEAR=$(ANNEE) \
-D VERSION=$(VERSION) -g -fsanitize=undefined
LDFLAGS=`pkg-config --libs sdl2` -lm -fsanitize=undefined
HEPTC?=heptc
HEPT_OBJ=\
src/challenge.o \
src/city.o \
src/globals.o \
src/vehicle.o \
src/control.o \
src/utilities.o \
src/challenge_types.o \
src/city_types.o \
src/globals_types.o \
src/vehicle_types.o \
src/control_types.o \
src/utilities_types.o
OBJ=$(HEPT_OBJ) \
src/buffer.o \
src/trace_lib.o \
src/trace.o \
src/debug.o \
src/mathext.o \
src/map.o \
src/cutils.o \
src/simulation_loop.o \
src/challenge.o \
src/main.o
TARGET=scontest
.SUFFIXES:
.PHONY: all clean test
.PRECIOUS: %.epci %.c %.h
.SUFFIXES:
all: $(TARGET)
clean:
rm -f $(OBJ) $(TARGET)
rm -f $(foreach ext, mls obc epci epo log, $(wildcard src/*.$(ext)))
rm -rf src/*_c
rm -f $(subst .o,.c,$(HEPT_OBJ))
rm -f $(subst .o,.h,$(HEPT_OBJ))
test: $(TARGET)
./$< -o logs.txt assets/00.map
$(TARGET): $(OBJ)
$(CC) $^ $(LDFLAGS) -o $@
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
%_types.c %.c %.h %.epci : %.ept src/mathext.epci src/debug.epci src/trace.epci
cd `dirname $<` && $(HEPTC) -c -target c `basename $<`
cp $(foreach ext,c h,$(basename $<)_c/*.$(ext)) src
%.epci: %.epi
cd `dirname $<` && $(HEPTC) `basename $<`
src/vehicle.epci: src/globals.epci src/utilities.epci src/control.epci
src/utilities.epci: src/globals.epci
src/control.epci: src/globals.epci src/utilities.epci
src/city.epci: src/globals.epci src/utilities.epci src/vehicle.epci src/map.epci
src/map.epci: src/map.epi src/globals.epci
src/challenge.epci: src/globals.epci src/vehicle.epci src/city.epci src/map.epci
src/main.o src/map.o: src/globals.h src/globals_types.h
src/simulation_loop.o: src/globals.h src/globals_types.h src/challenge.h