# 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