(WiiU) makefile: add dependency tracking.

This commit is contained in:
aliaspider 2016-11-24 03:26:34 +01:00
parent f43c7254ee
commit 675b588d3b

View File

@ -111,7 +111,7 @@ else
endif endif
LDFLAGS := $(CFLAGS) LDFLAGS := $(CFLAGS)
ASFLAGS := $(CFLAGS) -mregnames $(INCDIRS) ASFLAGS := $(CFLAGS) -mregnames
CFLAGS += -ffast-math -Werror=implicit-function-declaration CFLAGS += -ffast-math -Werror=implicit-function-declaration
#CFLAGS += -fomit-frame-pointer -mword-relocations #CFLAGS += -fomit-frame-pointer -mword-relocations
@ -161,23 +161,38 @@ ifeq ($(BUILD_HBL_ELF), 1)
TARGETS += $(TARGET).elf TARGETS += $(TARGET).elf
endif endif
DEPFLAGS = -MT $@ -MMD -MP -MF $*.Tdepend
POSTCOMPILE = mv -f $*.Tdepend $*.depend
all: $(TARGETS) all: $(TARGETS)
%.o: %.cpp %.o: %.cpp
$(CXX) -c -o $@ $< $(CXXFLAGS) $(INCDIRS) %.o: %.cpp %.depend
$(CXX) -c -o $@ $< $(CXXFLAGS) $(INCDIRS) $(DEPFLAGS)
$(POSTCOMPILE)
%.o: %.c %.o: %.c
$(CC) -c -o $@ $< $(CFLAGS) $(INCDIRS) %.o: %.c %.depend
$(CC) -c -o $@ $< $(CFLAGS) $(INCDIRS) $(DEPFLAGS)
$(POSTCOMPILE)
%.o: %.s
$(CC) -c -o $@ $< $(ASFLAGS)
%.o: %.S %.o: %.S
$(CC) -c -o $@ $< $(ASFLAGS) %.o: %.S %.depend
$(CC) -c -o $@ $< $(ASFLAGS) $(INCDIRS) $(DEPFLAGS)
$(POSTCOMPILE)
%.o: %.s
%.o: %.s %.depend
$(CC) -c -o $@ $< $(ASFLAGS) $(INCDIRS) $(DEPFLAGS)
$(POSTCOMPILE)
%.a: %.a:
$(AR) -rc $@ $^ $(AR) -rc $@ $^
%.depend: ;
$(TARGET).elf: $(OBJ) $(HBL_ELF_OBJ) libretro_wiiu.a wiiu/link_elf.ld $(TARGET).elf: $(OBJ) $(HBL_ELF_OBJ) libretro_wiiu.a wiiu/link_elf.ld
$(LD) $(OBJ) $(HBL_ELF_OBJ) $(LDFLAGS) $(HBL_ELF_LDFLAGS) $(LIBDIRS) $(LIBS) -o $@ $(LD) $(OBJ) $(HBL_ELF_OBJ) $(LDFLAGS) $(HBL_ELF_LDFLAGS) $(LIBDIRS) $(LIBS) -o $@
@ -188,11 +203,10 @@ $(TARGET).rpx: $(TARGET).rpx.elf
-$(ELF2RPL) $(notdir $<) $@ -$(ELF2RPL) $(notdir $<) $@
clean: clean:
rm -f $(OBJ) rm -f $(OBJ) $(RPX_OBJ) $(HBL_ELF_OBJ) $(TARGET).elf $(TARGET).rpx.elf $(TARGET).rpx
rm -f $(RPX_OBJ) rm -f $(OBJ:.o=.depend) $(RPX_OBJ:.o=.depend) $(HBL_ELF_OBJ:.o=.depend)
rm -f $(HBL_ELF_OBJ)
rm -f $(TARGET).elf
rm -f $(TARGET).rpx.elf
rm -f $(TARGET).rpx
.PHONY: clean all .PHONY: clean all
.PRECIOUS: %.depend
-include $(OBJ:.o=.depend) $(RPX_OBJ:.o=.depend) $(HBL_ELF_OBJ:.o=.depend)