diff --git a/common.mak b/common.mak index b42b33e8f0..5c95e82f11 100644 --- a/common.mak +++ b/common.mak @@ -81,34 +81,4 @@ CLEANSUFFIXES = *.o *~ *.ho DISTCLEANSUFFIXES = *.d *.pc LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp *.map -define RULES -$(SUBDIR)%$(EXESUF): $(SUBDIR)%.o - $(CC) $(FFLDFLAGS) -o $$@ $$^ $(SUBDIR)$(LIBNAME) $(FFEXTRALIBS) - -$(SUBDIR)%-test.o: $(SUBDIR)%.c - $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^ - -$(SUBDIR)%-test.o: $(SUBDIR)%-test.c - $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^ - -$(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm - $(YASM) $(YASMFLAGS) -I $$( $$@ - -clean:: - rm -f $(EXAMPLES) $(addprefix $(SUBDIR),*-test$(EXESUF) $(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \ - $(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS)))) - -distclean:: clean - rm -f $(addprefix $(SUBDIR),$(DISTCLEANSUFFIXES)) \ - $(addprefix $(SUBDIR), $(foreach suffix,$(DISTCLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS)))) -endef - -$(eval $(RULES)) - -examples: $(EXAMPLES) -testprogs: $(TESTPROGS) - -include $(DEPS) diff --git a/subdir.mak b/subdir.mak index 997f552682..6b098cdb67 100644 --- a/subdir.mak +++ b/subdir.mak @@ -19,6 +19,29 @@ endif INCINSTDIR := $(INCDIR)/lib$(NAME) define RULES +$(SUBDIR)%$(EXESUF): $(SUBDIR)%.o + $(CC) $(FFLDFLAGS) -o $$@ $$^ $(SUBDIR)$(LIBNAME) $(FFEXTRALIBS) + +$(SUBDIR)%-test.o: $(SUBDIR)%.c + $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^ + +$(SUBDIR)%-test.o: $(SUBDIR)%-test.c + $(CC) $(CFLAGS) -DTEST -c -o $$@ $$^ + +$(SUBDIR)x86/%.o: $(SUBDIR)x86/%.asm + $(YASM) $(YASMFLAGS) -I $$( $$@ + +clean:: + rm -f $(EXAMPLES) $(addprefix $(SUBDIR),*-test$(EXESUF) $(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \ + $(addprefix $(SUBDIR), $(foreach suffix,$(CLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS)))) + +distclean:: clean + rm -f $(addprefix $(SUBDIR),$(DISTCLEANSUFFIXES)) \ + $(addprefix $(SUBDIR), $(foreach suffix,$(DISTCLEANSUFFIXES),$(addsuffix /$(suffix),$(DIRS)))) + ifdef BUILD_SHARED all: $(SUBDIR)$(SLIBNAME) @@ -72,3 +95,6 @@ uninstall-headers:: endef $(eval $(RULES)) + +examples: $(EXAMPLES) +testprogs: $(TESTPROGS)