SOURCES = foo.c OBJECTS = $(SOURCES:.c=.o) TARGET = libfoo.so TARGETABI = $(TARGET:.so=.abi) ABISUPPRESSION = $(TARGETABI:.abi=.supp) CC = gcc CFLAGS = -fPIC -g -O2 -Wall -Wextra LDFLAGS = -shared all: $(TARGET) $(TARGET): $(OBJECTS) $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(TARGETABI): $(TARGET) abidw --no-show-locs --no-corpus-path --no-comp-dir-path \ --suppressions $(ABISUPPRESSION) \ --out-file $@ $< clean: rm -f $(OBJECTS) $(TARGET) $(TARGETABI) .PHONY: clean