DOCKER_RUN=docker run -it --rm -v "$PWD:/usr/src/myapp" -w /usr/src/myapp php/ffi CC=gcc .PHONY: all all: docker-image build-native-lib build-main-c .PHONY: build-native-lib build-native-lib: ${CC} -shared -o heavy_stuff.so -fPIC heavy_stuff.c build-main-c: ${CC} main.c ./heavy_stuff.so -o main .PHONY: docker-image docker-image: docker build -t php/ffi . .PHONY: run-heavy-php run-heavy-php: ${DOCKER_RUN} php heavy_stuff.php .PHONY: run-heavy-php-c run-heavy-php-c: ${DOCKER_RUN} php heavy_stuff. .PHONY: clean clean: rm main heavy_stuff.so