CLIENT-SRC=$(wildcard client/*.erl) CLIENT-BIN=$(CLIENT-SRC:.erl=.beam) SERVER-SRC=$(wildcard server/*.erl) SERVER-BIN=$(SERVER-SRC:.erl=.beam) COMMON-SRC=$(wildcard common/*.erl) COMMON-BIN=$(COMMON-SRC:.erl=.beam) .PHONY: all client server clean all: client server clean: -$(RM) $(CLIENT-BIN) $(SERVER-BIN) $(COMMON-BIN) client: $(CLIENT-BIN) $(COMMON-BIN) server: $(SERVER-BIN) $(COMMON-BIN) %.beam: %.erl erlc -o $(dir $@) $<