# Makefile TARGET := scaler SRCS := scaler.c OBJS := $(SRCS:.c=.o) define lib-paths $(strip \ $(shell $(CC) -print-search-dirs | \ grep "^libraries" | \ sed 's/^libraries *: *=//' | \ sed 's/:/ /g') \ ) endef define lib-for $(strip \ $(eval _d := $(lastword $(wildcard $(patsubst %,%lib$(1).a,$(call lib-paths))))) \ $(if $(_d),$(_d),$(error lib-for $(1) not found)) \ ) endef LIBS := \ $(call lib-for,png) \ $(call lib-for,z) \ $(call lib-for,m) .PHONY: all all: $(TARGET) $(TARGET): $(OBJS) $(CC) -static -o $@ $^ $(LIBS) %.o: %.c $(CC) -Wall -c -o $@ $< .PHONY: clean clean: rm -f scaler scaler.o