# bootstrap.mk
bootstrap:
- $(MAKE) targetprefix $(BUILD_TMP) $(CROSS_BASE) $(HOSTPREFIX)/bin includes-and-libs modules $(TARGETPREFIX)/lib/libc.so.6 $(ARCHIVE)
+ $(MAKE) targetprefix $(BUILD_TMP) $(CROSS_BASE) $(HOSTPREFIX)/bin pkg-config includes-and-libs modules $(TARGETPREFIX)/lib/libc.so.6 $(ARCHIVE)
includes-and-libs:
$(MAKE) $(TARGETPREFIX)/lib $(TARGETPREFIX)/lib/firmware
modules:
$(ARCHIVE)/rtmpdump-$(LIBRTMP_VER).tar.gz:
$(WGET) http://crux.ster.zone/distfiles/rtmpdump-$(LIBRTMP_VER).tar.gz
+$(ARCHIVE)/pkg-config-$(PKGCONFIG_VER).tar.gz:
+ $(WGET) http://pkgconfig.freedesktop.org/releases/pkg-config-$(PKGCONFIG_VER).tar.gz
+
$(ARCHIVE)/crosstool-1.16.0-downloads.tar.bz2:
$(WGET) http://www.fhloston-paradise.de/crosstool-ng-1.16.0.tar.bz2
$(WGET) http://www.fhloston-paradise.de/eglibc-2_13.tar.bz2
@echo ""
@false
+pkg-config-preqs:
+ @PATH=$(subst $(HOSTPREFIX)/bin:,,$(PATH)); \
+ if ! pkg-config --exists glib-2.0; then \
+ echo "pkg-config and glib2-devel packages are needed for building cross-pkg-config."; false; \
+ fi
+
+pkg-config: $(HOSTPREFIX)/bin/pkg-config
+$(HOSTPREFIX)/bin/pkg-config: $(ARCHIVE)/pkg-config-$(PKGCONFIG_VER).tar.gz | $(HOSTPREFIX)/bin pkg-config-preqs
+ $(UNTAR)/pkg-config-$(PKGCONFIG_VER).tar.gz
+ set -e; cd $(BUILD_TMP)/pkg-config-$(PKGCONFIG_VER); \
+ ./configure --with-pc_path=$(PKG_CONFIG_PATH); \
+ $(MAKE); \
+ cp -a pkg-config $(HOSTPREFIX)/bin; \
+ ln -sf pkg-config $(HOSTPREFIX)/bin/$(TARGET)-pkg-config
+ $(REMOVE)/pkg-config-$(PKGCONFIG_VER)
+
skeleton: | $(TARGETPREFIX)
if [ $(PLATFORM) = "apollo" ]; then \
cp --remove-destination -a skel-root-apollo/* $(TARGETPREFIX)/; \
# including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.
LIBRTMP_VER = 2.4_p20131018
+# pkg-config; a helper tool used when compiling applications and libraries to insert the correct compiler options
+PKGCONFIG_VER=0.28
+
# ushare; uShare is a UPnP (TM) A/V Media Server.
USHARE_VER = 1.1a