summaryrefslogtreecommitdiffstats
path: root/libhb/module.rules
blob: 80828577c0d7f600607ea1fc39283d9807fd0bc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
$(eval $(call import.MODULE.rules,LIBHB))

libhb.build: $(LIBHB.a)

$(LIBHB.a): | $(dir $(LIBHB.a))
$(LIBHB.a): $(LIBHB.c.o) $(LIBHB.m.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.m.o): | $(dir $(LIBHB.m.o))
$(LIBHB.m.o): $(BUILD/)%.o: $(SRC/)%.m
	$(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))
ifeq (none,$(FFMPEG.GCC.g))
	$(STRIP.exe) -s $(LIBHB.dll)
endif

endif

###############################################################################

clean: libhb.clean
build: libhb.build