Commit | Line | Data |
---|---|---|
8b2121e3 MR |
1 | # |
2 | # common bits used by all libraries | |
3 | # | |
4 | ||
451db983 MR |
5 | # first so "all" becomes default target |
6 | all: all-yes | |
0e32c8c6 | 7 | |
c5662879 DB |
8 | OBJS-$(HAVE_MMX) += $(MMX-OBJS-yes) |
9 | ||
6ccf540f DB |
10 | OBJS += $(OBJS-yes) |
11 | FFLIBS := $(FFLIBS-yes) $(FFLIBS) | |
12 | TESTPROGS += $(TESTPROGS-yes) | |
8b2121e3 | 13 | |
deb3ed01 | 14 | FFEXTRALIBS := $(FFLIBS:%=-l%$(BUILDSUF)) $(EXTRALIBS) |
8b2121e3 | 15 | |
deb3ed01 MR |
16 | EXAMPLES := $(EXAMPLES:%=$(SUBDIR)%-example$(EXESUF)) |
17 | OBJS := $(sort $(OBJS:%=$(SUBDIR)%)) | |
18 | TESTOBJS := $(TESTOBJS:%=$(SUBDIR)%) $(TESTPROGS:%=$(SUBDIR)%-test.o) | |
19 | TESTPROGS := $(TESTPROGS:%=$(SUBDIR)%-test$(EXESUF)) | |
20 | HOSTOBJS := $(HOSTPROGS:%=$(SUBDIR)%.o) | |
21 | HOSTPROGS := $(HOSTPROGS:%=$(SUBDIR)%$(HOSTEXESUF)) | |
28e1c979 MR |
22 | TOOLS += $(TOOLS-yes) |
23 | TOOLOBJS := $(TOOLS:%=tools/%.o) | |
24 | TOOLS := $(TOOLS:%=tools/%$(EXESUF)) | |
8b2121e3 | 25 | |
798b2646 | 26 | DEP_LIBS := $(foreach NAME,$(FFLIBS),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME)) |
76ca42a8 | 27 | |
7b5e8a27 | 28 | ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h $(SRC_DIR)/$(ARCH)/*.h)) |
deb3ed01 MR |
29 | SKIPHEADERS += $(ARCH_HEADERS:%=$(ARCH)/%) $(SKIPHEADERS-) |
30 | SKIPHEADERS := $(SKIPHEADERS:%=$(SUBDIR)%) | |
95f2c769 | 31 | checkheaders: $(filter-out $(SKIPHEADERS:.h=.ho),$(ALLHEADERS:.h=.ho)) |
8b2121e3 | 32 | |
28e1c979 MR |
33 | alltools: $(TOOLS) |
34 | ||
de4070b5 MR |
35 | $(HOSTOBJS): %.o: %.c |
36 | $(HOSTCC) $(HOSTCFLAGS) -c -o $@ $< | |
37 | ||
38 | $(HOSTPROGS): %$(HOSTEXESUF): %.o | |
39 | $(HOSTCC) $(HOSTLDFLAGS) -o $@ $< $(HOSTLIBS) | |
40 | ||
3e5cce81 DB |
41 | $(OBJS): | $(sort $(dir $(OBJS))) |
42 | $(HOSTOBJS): | $(sort $(dir $(HOSTOBJS))) | |
43 | $(TESTOBJS): | $(sort $(dir $(TESTOBJS))) | |
28e1c979 | 44 | $(TOOLOBJS): | tools |
5e27ec28 MR |
45 | |
46 | OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOSTOBJS) $(TESTOBJS)) | |
47 | ||
a482e61b | 48 | CLEANSUFFIXES = *.d *.o *~ *.ho *.map *.ver |
79de9c83 | 49 | DISTCLEANSUFFIXES = *.pc |
8e8a67fa | 50 | LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp |
76a448ed | 51 | |
2f97b12e | 52 | -include $(wildcard $(OBJS:.o=.d) $(TESTOBJS:.o=.d)) |