OSDN Git Service

import 0.9.4
[handbrake-jp/handbrake-jp.git] / libhb / module.rules
diff --git a/libhb/module.rules b/libhb/module.rules
new file mode 100644 (file)
index 0000000..c92abab
--- /dev/null
@@ -0,0 +1,52 @@
+$(eval $(call import.MODULE.rules,LIBHB))
+
+libhb.build: $(LIBHB.a)
+
+$(LIBHB.a): | $(dir $(LIBHB.a))
+$(LIBHB.a): $(LIBHB.c.o) $(LIBHB.yasm.o)
+       $(AR.exe) rsu $@ $^
+
+$(LIBHB.c.o): $(LIBHB.d)
+$(LIBHB.c.o): | $(dir $(LIBHB.c.o))
+$(LIBHB.c.o): $(BUILD/)%.o: $(SRC/)%.c
+       $(call LIBHB.GCC.C_O,$@,$<)
+
+$(LIBHB.m4.out): $(BUILD/)project/handbrake.m4
+$(LIBHB.m4.out): | $(dir $(LIBHB.m4.out))
+$(LIBHB.m4.out): $(LIBHB.build/)%: $(LIBHB.src/)%.m4
+       $(M4.exe) -Iproject $< > $@
+
+$(LIBHB.h.out): | $(dir $(LIBHB.h.out))
+$(LIBHB.h.out): $(BUILD/)%: $(SRC/)%
+       $(CP.exe) $< $@
+
+libhb.clean:
+       $(RM.exe) -f $(LIBHB.out)
+
+###############################################################################
+
+ifneq (disabled,$(FEATURE.asm))
+
+$(LIBHB.yasm.o): $(LIBHB.yasm.d)
+$(LIBHB.yasm.o): | $(dir $(LIBHB.yasm.o))
+$(LIBHB.yasm.o): $(LIBHB.yasm.build/)%.o: $(LIBHB.yasm.src/)%.asm
+       $(call LIBHB.YASM.ASM_O,$@,$<)
+
+endif
+
+###############################################################################
+
+ifeq (1-mingw,$(BUILD.cross)-$(BUILD.system))
+
+libhb.build: $(LIBHB.dll)
+
+$(LIBHB.dll): | $(dirname $(LIBHB.dll) $(LIBHB.lib))
+$(LIBHB.dll): $(LIBHB.c.o) $(LIBHB.yasm.o)
+       $(call LIBHB.GCC.DYLIB++,$@,$^ $(LIBHB.dll.libs))
+
+endif
+
+###############################################################################
+
+clean: libhb.clean
+build: libhb.build