OSDN Git Service

Fix a hang in sync
[handbrake-jp/handbrake-jp-git.git] / libhb / module.rules
index 91e47a4..c92abab 100644 (file)
@@ -3,12 +3,12 @@ $(eval $(call import.MODULE.rules,LIBHB))
 libhb.build: $(LIBHB.a)
 
 $(LIBHB.a): | $(dir $(LIBHB.a))
-$(LIBHB.a): $(LIBHB.c.o)
+$(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: $(PROJECT/)%.c
+$(LIBHB.c.o): $(BUILD/)%.o: $(SRC/)%.c
        $(call LIBHB.GCC.C_O,$@,$<)
 
 $(LIBHB.m4.out): $(BUILD/)project/handbrake.m4
@@ -17,7 +17,7 @@ $(LIBHB.m4.out): $(LIBHB.build/)%: $(LIBHB.src/)%.m4
        $(M4.exe) -Iproject $< > $@
 
 $(LIBHB.h.out): | $(dir $(LIBHB.h.out))
-$(LIBHB.h.out): $(BUILD/)%: $(PROJECT/)%
+$(LIBHB.h.out): $(BUILD/)%: $(SRC/)%
        $(CP.exe) $< $@
 
 libhb.clean:
@@ -25,4 +25,28 @@ libhb.clean:
 
 ###############################################################################
 
+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