trainings/C_secure_coding/SecC++/wrap_function/Makefile

27 lines
565 B
Makefile

# Przykład "owinięcia" (wrap) / sastąpienia
# pojedynczej funkcji przez linker
# Uwaga na zamierzone włączenie #include "foo.c"
# w test/foo.c
.PHONY := clean
CC := gcc
CFLAGS := -Wall -Wextra -pedantic
LDFLAGS :=
OBJS := main.o foo.o
WRAP_CFLAGS := $(CFLAGS)
WRAP_LDFLAGS := $(LD_FLAGS) -Wl,-wrap=foo
WRAP_OBJS := main.o
WRAP_SRCDIR := tests
all: main wrap
main: $(OBJS)
$(CC) $(LDFLAGS) -o $@ $^
wrap: $(WRAP_OBJS)
$(CC) $(WRAP_LDFLAGS) -o wrap $^ $(WRAP_SRCDIR)/foo.c -I$(WRAP_SRCDIR)
clean:
@rm -f main wrap $(OBJS) $(WRAP_OBJS) > /dev/null 2>&1