summaryrefslogtreecommitdiffstats
path: root/TOOLS/makefile_common.mak
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-06-21 02:13:48 +0200
committerwm4 <wm4@nowhere>2020-06-10 11:25:10 +0200
commit6551ea5bd3e9781e3740e99a00c56a49917d5fc9 (patch)
tree9ac8722755d86ed6e744955441582ef5185842af /TOOLS/makefile_common.mak
parentf3864638404284b7d3a54d22412ab9e81d0a6787 (diff)
downloadmpv-6551ea5bd3e9781e3740e99a00c56a49917d5fc9.tar.bz2
mpv-6551ea5bd3e9781e3740e99a00c56a49917d5fc9.tar.xz
new build systembliss
Further changes by the following people: James Ross-Gowan <rossy@jrg.systems>: win32 fixes
Diffstat (limited to 'TOOLS/makefile_common.mak')
-rw-r--r--TOOLS/makefile_common.mak55
1 files changed, 55 insertions, 0 deletions
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)