# Makefile.host - Host Makefile. # # Flags. {{{1 HOST_CFLAGS = $(CFLAGS) HOST_CPPFLAGS = $(CPPFLAGS) $(HOST_DEFS) -DHOST=1 HOST_LDFLAGS = $(LDFLAGS) HOST_COMPILE.c = $(CC) $(HOST_CFLAGS) $(HOST_CPPFLAGS) -c HOST_LINK.o = $(CC) $(HOST_CFLAGS) $(HOST_LDFLAGS) # Main rules. {{{1 host: exe .PHONY: host clean.host exe # General rules. {{{1 HOST_EXES = $(PROGS:%=%.host) HOST_SOURCES = $(filter-out %.avr.c,$(SOURCES)) HOST_OBJECTS = $(HOST_SOURCES:%.c=%.host.o) exe: $(HOST_EXES) define AVR_PROG_template $(1).host: $$(patsubst %.c,%.host.o,$$(filter-out %.avr.c,$$($(1)_SOURCES))) endef $(foreach prog,$(PROGS),$(eval $(call AVR_PROG_template,$(prog)))) $(HOST_EXES): $(HOST_LINK.o) $^ $(HOST_LDLIBS) -o $@ %.host.o: %.c $(HOST_COMPILE.c) -o $@ $< # Dependency checking. -include $(HOST_OBJECTS:%.host.o=%.host.d) # Cleaning. {{{1 clean.host: rm -f *.host.o *.host.d $(HOST_EXES)