include $(SRC/)make/include/base.defs
include $(SRC/)make/include/contrib.defs
include $(SRC/)make/include/function.defs
include $(SRC/)make/include/gcc.defs
include $(SRC/)make/include/select.defs
include $(SRC/)make/include/target.defs
include $(SRC/)make/include/tool.defs

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

MODULES += contrib/a52dec

ifneq (,$(filter $(BUILD.system),cygwin mingw))
ifneq ($(HAS.bz2),1)
    MODULES += contrib/bzip2
endif
endif

MODULES += contrib/faac
MODULES += contrib/ffmpeg
MODULES += contrib/fontconfig
MODULES += contrib/freetype
MODULES += contrib/lame
MODULES += contrib/libass
MODULES += contrib/libdca
MODULES += contrib/libdvdread
MODULES += contrib/libdvdnav
MODULES += contrib/libbluray
MODULES += contrib/libmkv
MODULES += contrib/libogg
MODULES += contrib/libsamplerate
MODULES += contrib/libtheora
MODULES += contrib/libvorbis
MODULES += contrib/libxml2
MODULES += contrib/mp4v2
MODULES += contrib/mpeg2dec

ifneq (,$(filter $(BUILD.system),mingw))
ifneq ($(HAS.pthread),1)
    MODULES += contrib/pthreadw32
endif
endif

MODULES += contrib/x264

ifneq (,$(filter $(BUILD.system),cygwin mingw))
ifneq ($(HAS.iconv),1)
    MODULES += contrib/libiconv
endif
ifneq ($(HAS.libz),1)
    MODULES += contrib/zlib
endif
endif

ifneq (,$(filter $(BUILD.system),solaris))
    MODULES += contrib/libiconv
endif

## these must come after contrib since some contrib modules are optional
MODULES += libhb

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

ifeq (1-darwin,$(FEATURE.xcode)-$(BUILD.system))
    ## use macosx module when xcode+darwin
    MODULES += macosx
else
    ## default is to build CLI
    MODULES += test
endif

ifeq (1-mingw,$(FEATURE.gtk.mingw)-$(BUILD.system))
    MODULES += gtk
endif

ifeq (1-linux,$(FEATURE.gtk)-$(BUILD.system))
    ## build gtk when gtk+linux
    MODULES += gtk
endif

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

MODULES += doc
MODULES += pkg

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

include $(MODULES:%=$(SRC/)%/module.defs)
include $(SRC/)make/variant/$(BUILD.system).defs
-include $(SRC/)make/variant/$(BUILD.system).$(BUILD.machine).defs
