diff --git a/Makefile.base b/Makefile.base index 6e56df9e6f507c8f593b07799980609ac9d60155..b54bcb8f90be3a59c09593ddd401a66031fe9d7d 100644 --- a/Makefile.base +++ b/Makefile.base @@ -46,23 +46,26 @@ DEP := $(OBJC:.o=.d) $(OBJCXX:.o=.d) $(ASSMOBJ:.o=.d) $(BINDIR)$(MODULE)/: $(AD)mkdir -p $@ -$(BINDIR)$(MODULE).a: $(OBJ) ${DIRS:%=ALL--%} $(BINDIR)$(MODULE)/ - $(AD)$(AR) -rcs $@ $(OBJ) +$(BINDIR)$(MODULE).a $(OBJ): | $(BINDIR)$(MODULE)/ + +$(BINDIR)$(MODULE).a: $(OBJ) | ${DIRS:%=ALL--%} + $(AD)$(AR) -rcs $@ $? + CXXFLAGS = $(filter-out $(CXXUWFLAGS), $(CFLAGS)) $(CXXEXFLAGS) # compile and generate dependency info -$(OBJC): $(BINDIR)$(MODULE)/%.o: %.c $(BINDIR)$(MODULE)/ +$(OBJC): $(BINDIR)$(MODULE)/%.o: %.c $(AD)$(CC) $(CFLAGS) $(INCLUDES) -MD -MP -c -o $@ $(abspath $<) -$(OBJCXX): $(BINDIR)$(MODULE)/%.o: %.cpp $(BINDIR)$(MODULE)/ +$(OBJCXX): $(BINDIR)$(MODULE)/%.o: %.cpp $(AD)$(CXX) $(CXXFLAGS) $(INCLUDES) -MD -MP -c -o $@ $(abspath $<) -$(ASMOBJ): $(BINDIR)$(MODULE)/%.o: %.s $(BINDIR)$(MODULE)/ +$(ASMOBJ): $(BINDIR)$(MODULE)/%.o: %.s $(AD)$(AS) $(ASFLAGS) -o $@ $(abspath $<) -$(ASSMOBJ): $(BINDIR)$(MODULE)/%.o: %.S $(BINDIR)$(MODULE)/ +$(ASSMOBJ): $(BINDIR)$(MODULE)/%.o: %.S $(AD)$(CC) $(CFLAGS) $(INCLUDES) -MD -MP -c -o $@ $(abspath $<) # pull in dependency info for *existing* .o files