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
$(M4.exe) -Iproject $< > $@
$(LIBHB.h.out): | $(dir $(LIBHB.h.out))
-$(LIBHB.h.out): $(BUILD/)%: $(PROJECT/)%
+$(LIBHB.h.out): $(BUILD/)%: $(SRC/)%
$(CP.exe) $< $@
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