From 6551ea5bd3e9781e3740e99a00c56a49917d5fc9 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 21 Jun 2019 02:13:48 +0200 Subject: new build system Further changes by the following people: James Ross-Gowan : win32 fixes --- TOOLS/makefile_common.mak | 55 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 TOOLS/makefile_common.mak (limited to 'TOOLS/makefile_common.mak') diff --git a/TOOLS/makefile_common.mak b/TOOLS/makefile_common.mak new file mode 100644 index 0000000000..6d5c462cb2 --- /dev/null +++ b/TOOLS/makefile_common.mak @@ -0,0 +1,55 @@ +ifdef V +Q = +else +Q = @ +endif + +CFLAGS := -I$(ROOT) -I$(BUILD) $(CFLAGS) + +OBJECTS = $(SOURCES:.c=.o) +OBJECTS := $(OBJECTS:.rc=.o) + +TARGET = mpv + +# The /./ -> / is for cosmetic reasons. +BUILD_OBJECTS = $(subst /./,/,$(addprefix $(BUILD)/, $(OBJECTS))) + +BUILD_TARGET = $(addprefix $(BUILD)/, $(TARGET))$(EXESUF) +BUILD_DEPS = $(BUILD_OBJECTS:.o=.d) +CLEAN_FILES += $(BUILD_OBJECTS) $(BUILD_DEPS) $(BUILD_TARGET) + +LOG = $(Q) printf "%s\t%s\n" + +# Special rules. + +all: $(BUILD_TARGET) + +clean: + $(LOG) "CLEAN" + $(Q) rm -f $(CLEAN_FILES) + $(Q) rm -rf $(BUILD)/generated/ + $(Q) (rmdir $(BUILD)/*/*/* $(BUILD)/*/* $(BUILD)/*) 2> /dev/null || true + +dist-clean: + $(LOG) "DIST-CLEAN" + $(Q) rm -rf $(BUILD) + +# Generic pattern rules (used for most source files). + +$(BUILD)/%.o: %.c + $(LOG) "CC" "$@" + $(Q) mkdir -p $(@D) + $(Q) $(CC) $(CFLAGS) $< -c -o $@ + +$(BUILD)/%.o: %.rc + $(LOG) "WINRC" "$@" + $(Q) mkdir -p $(@D) + $(Q) $(WINDRES) -I$(ROOT) -I$(BUILD) $< $@ + +$(BUILD_TARGET): $(BUILD_OBJECTS) + $(LOG) "LINK" "$@" + $(Q) $(CC) $(BUILD_OBJECTS) $(CFLAGS) $(LDFLAGS) -o $@ + +.PHONY: all clean .pregen + +-include $(BUILD_DEPS) -- cgit v1.2.3