summaryrefslogtreecommitdiff
path: root/ham/uhd/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'ham/uhd/Makefile')
-rw-r--r--ham/uhd/Makefile140
1 files changed, 140 insertions, 0 deletions
diff --git a/ham/uhd/Makefile b/ham/uhd/Makefile
new file mode 100644
index 00000000000..33e1589f44b
--- /dev/null
+++ b/ham/uhd/Makefile
@@ -0,0 +1,140 @@
+# $NetBSD: Makefile,v 1.1 2014/09/08 07:12:05 mef Exp $
+
+DISTNAME= 003_007_002_rc1
+#DISTNAME= uhd-images_003.007.002-rc1
+PKGNAME= uhd-3.7.2rc1
+CATEGORIES= ham
+MASTER_SITE= https://github.com/EttusResearch/uhd/archive
+#MASTER_SITE+= http://files.ettus.com/binaries/maint_images/archive
+EXTRACT_SUFX= .zip
+DIST_SUBDIR= uhd
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://code.ettus.com/redmine/ettus/projects/uhd/wiki
+COMMENT= USRP (Universal Software Radio Peripheral) Hardware Drivers
+LICENSE= gnu-gpl-v2
+
+BUILD_DEPENDS+= ${PYPKGPREFIX}-cheetah-[0-9]*:../../devel/py-cheetah
+USE_LANGUAGES= c c++
+USE_TOOLS= cmake wget pkg-config
+
+# Please note distribution has many stuff under uhd/, but build itself
+# needs under host/ only. Those uhd/ stuff will be handled post-{patch,install}:
+WRKSRC= ${WRKDIR}/uhd-${DISTNAME}/host
+
+# The files with their name uhd-xxxx, are moved down from uhd/xxxx for this process.
+REPLACE_PYTHON= \
+ utils/uhd_images_downloader.py.in \
+ utils/usrp2_card_burner.py \
+ utils/usrp2_card_burner_gui.py \
+ utils/usrp_n2xx_net_burner.py \
+ utils/usrp_n2xx_net_burner_gui.py \
+ uhd-firmware/fx2/utils/build_eeprom.py \
+ uhd-firmware/fx2/utils/edit-gpif-b100.py \
+ uhd-firmware/fx2/utils/edit-gpif.py \
+ uhd-firmware/fx2/utils/generate_regs.py \
+ uhd-firmware/x300/bin_to_coe.py \
+ uhd-firmware/zpu/bin/bin_to_mif.py \
+ uhd-firmware/zpu/bin/bin_to_ram_macro_init.py \
+ uhd-firmware/zpu/bin/divisors.py \
+ uhd-firmware/zpu/bin/elf_to_sbf \
+ uhd-firmware/zpu/bin/serial_loader \
+ uhd-firmware/zpu/bin/uart_ihex_flash_loader.py \
+ uhd-firmware/zpu/bin/uart_ihex_ram_loader.py \
+ uhd-fpga/usrp1/gen_makefile_extra.py \
+ uhd-fpga/usrp1/sdr_lib/gen_cordic_consts.py \
+ uhd-fpga/usrp1/tb/makesine.pl \
+ uhd-fpga/usrp1/toplevel/mrfm/mrfm.py \
+ uhd-fpga/usrp1/toplevel/mrfm/mrfm_fft.py \
+ uhd-fpga/usrp2/sdr_lib/gen_cordic_consts.py \
+ uhd-fpga/usrp2/top/extract_usage.py \
+ uhd-fpga/usrp2/top/python/check_inout.py \
+ uhd-fpga/usrp2/top/python/check_timing.py \
+ uhd-fpga/usrp3/top/python/bit_to_zynq_bin.py \
+ uhd-fpga/usrp3/top/python/check_inout.py \
+ uhd-fpga/usrp3/top/python/check_timing.py \
+ uhd-fpga/usrp3/lib/io_port2/create-lvbitx.py \
+
+REPLACE_PERL= uhd-fpga/usrp1/tb/makesine.pl
+
+REPLACE_BASH= \
+ uhd-fpga/usrp2/top/impactor.sh \
+ uhd-fpga/usrp3/top/impactor.sh \
+ uhd-fpga/usrp3/top/python/batch-build \
+
+INSTALLATION_DIRS+= share/uhd
+INSTALLATION_DIRS+= share/uhd/firmware
+INSTALLATION_DIRS+= share/uhd/fpga
+INSTALLATION_DIRS+= share/uhd/images
+
+SUBST_CLASSES+= man
+SUBST_MESSAGE.man= Convert share/man to man
+SUBST_STAGE.man= pre-configure
+SUBST_FILES.man= docs/CMakeLists.txt
+SUBST_SED.man= -e '/UHD_INSTALL/s,$${PKG_MAN_DIR},${PREFIX}/${PKGMANDIR}/man1,'
+# UHD_INSTALL(FILES ${gzfile} DESTINATION ${PKG_MAN_DIR} COMPONENT manpages)
+
+# is it default ? and redundent ?
+PLIST_SRC= ${PKGDIR}/PLIST
+.include "options.mk"
+# FETCH_USING at /etc/mk.conf doesn't good, (sorry), put work around for the target
+do-fetch:
+ if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}${EXTRACT_SUFX} ] ; then \
+ if [ ! -d ${DISTDIR}/${DIST_SUBDIR} ] ; then \
+ ${MKDIR} ${DISTDIR}/${DIST_SUBDIR}; fi; \
+ cd ${DISTDIR}/${DIST_SUBDIR}; \
+ wget --no-check-certificate --quiet ${MASTER_SITE}/${DISTNAME}${EXTRACT_SUFX} ;fi
+
+# Copy (beyond) upper directory files (which should be handled at post-install)
+# to receive REPLACE_PYTHON conversion ( otherwise above the range )
+post-patch:
+ (cd ${WRKDIR}; \
+ for i in firmware fpga images ; do \
+ ${MKDIR} ${WRKSRC}/uhd-$$i ;\
+ ${CP} -r ${WRKDIR}/uhd-${DISTNAME}/$$i/* ${WRKSRC}/uhd-$$i ;\
+ done)
+
+do-configure:
+ (cd $(WRKSRC) ; \
+ cmake \
+ -DCMAKE_BUILD_WITH_INSTALL_RPATH=True \
+ -DCMAKE_INSTALL_PREFIX=${PREFIX} \
+ -DCMAKE_INSTALL_RPATH=${PREFIX}/lib \
+ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE \
+ -DLIBUSB_INCLUDE_DIR=${PREFIX}/include/libusb-1.0 \
+ -DENABLE_LIBUHD=True \
+ -DENABLE_EXAMPLES=True \
+ -DENABLE_UTILS=True \
+ -DENABLE_TESTS=True \
+ -DENABLE_MANUAL=True \
+ -DENABLE_DOXYGEN=True \
+ -DENABLE_MAN_PAGES=True \
+ -DENABLE_ORC=True \
+ -DENABLE_USB=True \
+ -DENABLE_USRP1=True \
+ -DENABLE_USRP2=True \
+ -DENABLE_B100=True \
+ -DENABLE_X300=True \
+ -DENABLE_B200=True \
+ -DENABLE_E100=True \
+ .)
+# E100 above is Linux only
+
+# (1) move back the files to original location after REPLACE_PYTHON handled
+# (2) suppress warning at intallation, "non executable files get +x bit set".
+#
+# Converting ${CP} into ${INTALL_DATA_DIR} and ${INSTALL_DATA} as pkglint
+# flags are not easy, sorry for that.
+post-install:
+ for i in firmware fpga images ; do \
+ ${CP} -r ${WRKSRC}/uhd-$$i/* ${DESTDIR}${PREFIX}/share/uhd/$$i/;\
+ ${FIND} ${DESTDIR}${PREFIX}/share/uhd/$$i -type f -exec \
+ ${CHMOD} -x '{}' \; ;\
+ done
+
+.include "../../lang/python/application.mk"
+.include "../../devel/boost-libs/buildlink3.mk"
+.include "../../devel/libusb1/buildlink3.mk"
+.include "../../devel/orc/buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"