test1: | |
touch server.c server_priv.c server_access.c | |
touch client.c client_api.c client_mem.c | |
test2: all | |
PROGRAMS = server client | |
server_OBJS = server.o server_priv.o server_access.o | |
client_OBJS = client.o client_api.o client_mem.o | |
# Everything after this is generic | |
.PHONY: all | |
all: $(PROGRAMS) | |
define PROGRAM_template | |
$(1): $$($(1)_OBJS) | |
ALL_OBJS += $$($(1)_OBJS) | |
endef | |
$(foreach prog,$(PROGRAMS),$(eval $(call PROGRAM_template,$(prog)))) | |
$(PROGRAMS): | |
echo $^ -o $@ | |
clean: | |
rm -f $(ALL_OBJS) $(PROGRAMS) |