diff --git a/Usermode/rules.mk b/Usermode/rules.mk index 4185287ced9c1c645c03872ab5f07eb42e4c642e..123954afcc6164ff3dd6e7d05f7376ea13e3599e 100644 --- a/Usermode/rules.mk +++ b/Usermode/rules.mk @@ -104,22 +104,26 @@ $(foreach f,$(ALL_BIN), $(eval $f: $(EXTRA_DEP-$(_DIR-$f)) $(call fcn_getlibs,$f %.a: $(eval _dir=$(_DIR-$@)) @echo [AR] ru $@ + @mkdir -p $(dir $@) @$(RM) $@ @$(AR) ru $@ $(OBJ-$@) # Dynamic Library (.so) %.so: $(eval _dir=$(_DIR-$@)) @echo [LD] -shared -o $@ + @mkdir -p $(dir $@) @$(LD) $(LDFLAGS) -shared -soname $(notdir $@) -o $@ $(OBJ-$@) $(LDFLAGS-$(_dir)) # Executable (.bin) %.bin: $(eval _dir=$(_DIR-$@)) @echo [LD] -o $@ + @mkdir -p $(dir $@) @$(LD) $(LDFLAGS) -o $@ $(OBJ-$@) $(LDFLAGS-$(_dir)) @$(CP) $@ $(@:%.bin=%) $(OUTPUTDIR)%: $(eval _dir=$(_DIR-$@)) @echo [LD] -o $@ + @mkdir -p $(dir $@) @$(LD) $(LDFLAGS) -o $@ $(OBJ-$@) $(LDFLAGS-$(_dir)) -include $(ALL_OBJ:%=%.dep)