cours/content/secu_logicielle/td4-assembleur_x86_part2/files/q3/Makefile

39 lines
864 B
Makefile

CC = gcc
CFLAGS = -Wall -Wextra -O0 -no-pie -lm -g -std=c99
SRC = $(wildcard *.c)
TGT = $(subst .c,,$(SRC))
BUILD_DIR = build
DUMP_DIR = dump
pframe:
curl -o pframe.tgz https://dept-info.labri.fr/~thibault/SecuLog/pframe.tgz && \
tar -xf pframe.tgz &&\
rm -rf pframe.tgz
.gdbinit:
configure: pframe .gdbinit
$(shell echo "python import pframe" > .gdbinit)
$(BUILD_DIR)/%_32: %.c
$(shell mkdir -p $(BUILD_DIR))
$(CC) $(CFLAGS) -m32 -o $@ $<
$(BUILD_DIR)/%_64: %.c
$(shell mkdir -p $(BUILD_DIR))
$(CC) $(CFLAGS) -m64 -o $@ $<
build: $(addprefix $(BUILD_DIR)/, $(addsuffix _32, $(TGT))) \
$(addprefix $(BUILD_DIR)/, $(addsuffix _64, $(TGT)))
PHONY: %
%: $(addprefix $(BUILD_DIR)/, $(addsuffix _32, %))
PYTHONPATH=${PWD}/pframe${PYTHONPATH:+:${PYTHONPATH}} gdb $< --command=$@.gdb
PHONY: clean
clean:
@rm -rf $(BUILD_DIR) pframe .gdbinit