diff options
Diffstat (limited to 'rules.mk')
-rw-r--r-- | rules.mk | 21 |
1 files changed, 19 insertions, 2 deletions
@@ -1,7 +1,20 @@ +# generate ,OBJS variable for each ,SRCS +, = , +$(foreach V,$(filter %$(,)SRCS, ${.VARIABLES}),\ + $(eval $(V:$(,)SRCS=$(,)OBJS) += $(foreach f,$($(V)),$(addsuffix .o,$(basename $(f))))) \ + $(eval $(V:$(,)SRCS=.a): $($(V:$(,)SRCS=$(,)OBJS))) \ + $(eval clean: $($(V:$(,)SRCS=$(,)OBJS))) \ +) + +# Suffix rules +%.a: + @echo ' AR $@' + @${AR} ${ARFLAGS} $@ $(filter %.o,$^) + .SUFFIXES: .s .S .c .o .s.o: - @echo ' CC $^' - @$(CC) $(CCFLAGS) -c -o $@ $^ + @echo ' AS $^' + @$(AS) $(ASFLAGS) -c -o $@ $^ .S.o: @echo ' CC $^' @@ -11,3 +24,7 @@ @echo ' CC $^' @$(CC) $(CCFLAGS) -c -o $@ $^ +# clean target +.PHONY: clean +clean: + @rm -rf $^ |