summaryrefslogtreecommitdiffstats
path: root/package/gpsd/gpsd.mk
diff options
context:
space:
mode:
Diffstat (limited to 'package/gpsd/gpsd.mk')
-rw-r--r--package/gpsd/gpsd.mk179
1 files changed, 179 insertions, 0 deletions
diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk
new file mode 100644
index 000000000..71fe89ef1
--- /dev/null
+++ b/package/gpsd/gpsd.mk
@@ -0,0 +1,179 @@
+#############################################################
+#
+# gpsd
+#
+#############################################################
+
+GPSD_VERSION = 2.95
+GPSD_SITE = http://download.berlios.de/gpsd
+GPSD_INSTALL_STAGING = YES
+GPSD_CONF_OPT = --disable-static
+GPSD_LIBTOOL_PATCH = NO
+GPSD_USE_CONFIG_CACHE = NO
+GPSD_TARGET_BINS = cgps gpsctl gpsdecode gpsmon gpspipe gpxlogger lcdgps
+
+# Build libgpsmm if we've got C++
+ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
+ GPSD_CONF_OPT += --enable-libgpsmm LDFLAGS="$(TARGET_LDFLAGS) -lstdc++"
+else
+ GPSD_CONF_OPT += --disable-libgpsmm
+endif
+
+# If libusb is available build it before so the package can use it
+ifeq ($(BR2_PACKAGE_LIBUSB),y)
+ GPSD_DEPENDENCIES += libusb
+endif
+
+ifeq ($(strip $(BR2_PACKAGE_DBUS)),y)
+ GPSD_CONF_OPT += --enable-dbus
+ GPSD_DEPENDENCIES += dbus dbus-glib
+endif
+
+ifeq ($(BR2_PACKAGE_NCURSES),y)
+ GPSD_DEPENDENCIES += ncurses
+endif
+
+# Protocol support
+ifneq ($(BR2_PACKAGE_GPSD_ASHTECH),y)
+ GPSD_CONF_OPT += --disable-ashtech
+endif
+ifneq ($(BR2_PACKAGE_GPSD_AIVDM),y)
+ GPSD_CONF_OPT += --disable-aivdm
+endif
+ifneq ($(BR2_PACKAGE_GPSD_EARTHMATE),y)
+ GPSD_CONF_OPT += --disable-earthmate
+endif
+ifneq ($(BR2_PACKAGE_GPSD_EVERMORE),y)
+ GPSD_CONF_OPT += --disable-evermore
+endif
+ifneq ($(BR2_PACKAGE_GPSD_FV18),y)
+ GPSD_CONF_OPT += --disable-fv18
+endif
+ifneq ($(BR2_PACKAGE_GPSD_GARMIN),y)
+ GPSD_CONF_OPT += --disable-garmin
+endif
+ifeq ($(BR2_PACKAGE_GPSD_GARMIN_SIMPLE_TXT),y)
+ GPSD_CONF_OPT += --enable-garmintxt
+endif
+ifneq ($(BR2_PACKAGE_GPSD_GPSCLOCK),y)
+ GPSD_CONF_OPT += --disable-gpsclock
+endif
+ifneq ($(BR2_PACKAGE_GPSD_ITRAX),y)
+ GPSD_CONF_OPT += --disable-itrax
+endif
+ifneq ($(BR2_PACKAGE_GPSD_MTK3301),y)
+ GPSD_CONF_OPT += --disable-mtk3301
+endif
+ifneq ($(BR2_PACKAGE_GPSD_NMEA),y)
+ GPSD_CONF_OPT += --disable-nmea
+endif
+ifneq ($(BR2_PACKAGE_GPSD_NTRIP),y)
+ GPSD_CONF_OPT += --disable-ntrip
+endif
+ifneq ($(BR2_PACKAGE_GPSD_NAVCOM),y)
+ GPSD_CONF_OPT += --disable-navcom
+endif
+ifneq ($(BR2_PACKAGE_GPSD_OCEANSERVER),y)
+ GPSD_CONF_OPT += --disable-oceanserver
+endif
+ifneq ($(BR2_PACKAGE_GPSD_ONCORE),y)
+ GPSD_CONF_OPT += --disable-oncore
+endif
+ifneq ($(BR2_PACKAGE_GPSD_RTCM104V2),y)
+ GPSD_CONF_OPT += --disable-rtcm104v2
+endif
+ifneq ($(BR2_PACKAGE_GPSD_RTCM104V3),y)
+ GPSD_CONF_OPT += --disable-rtcm104v3
+endif
+ifneq ($(BR2_PACKAGE_GPSD_SIRF),y)
+ GPSD_CONF_OPT += --disable-sirf
+endif
+ifneq ($(BR2_PACKAGE_GPSD_SUPERSTAR2),y)
+ GPSD_CONF_OPT += --disable-superstar2
+endif
+ifneq ($(BR2_PACKAGE_GPSD_TRIMBLE_TSIP),y)
+ GPSD_CONF_OPT += --disable-tsip
+endif
+ifneq ($(BR2_PACKAGE_GPSD_TRIPMATE),y)
+ GPSD_CONF_OPT += --disable-tripmate
+endif
+ifeq ($(BR2_PACKAGE_GPSD_TRUE_NORTH),y)
+ GPSD_CONF_OPT += --enable-tnt
+endif
+ifneq ($(BR2_PACKAGE_GPSD_UBX),y)
+ GPSD_CONF_OPT += --disable-ubx
+endif
+
+# Features
+ifneq ($(BR2_PACKAGE_GPSD_NTP_SHM),y)
+ GPSD_CONF_OPT += --disable-ntpshm
+endif
+ifneq ($(BR2_PACKAGE_GPSD_PPS),y)
+ GPSD_CONF_OPT += --disable-pps
+endif
+ifeq ($(BR2_PACKAGE_GPSD_PPS_ON_CTS),y)
+ GPSD_CONF_OPT += --enable-pps-on-cts
+endif
+ifeq ($(BR2_PACKAGE_GPSD_SQUELCH),y)
+ GPSD_CONF_OPT += --enable-squelch
+endif
+ifneq ($(BR2_PACKAGE_GPSD_RECONFIGURE),y)
+ GPSD_CONF_OPT += --disable-reconfigure
+endif
+ifneq ($(BR2_PACKAGE_GPSD_CONTROLSEND),y)
+ GPSD_CONF_OPT += --disable-controlsend
+endif
+ifeq ($(BR2_PACKAGE_GPSD_RAW),y)
+ GPSD_CONF_OPT += --enable-raw
+endif
+ifneq ($(BR2_PACKAGE_GPSD_OLDSTYLE),y)
+ GPSD_CONF_OPT += --disable-oldstyle
+endif
+ifeq ($(BR2_PACKAGE_GPSD_PROFILING),y)
+ GPSD_CONF_OPT += --enable-profiling
+endif
+ifneq ($(BR2_PACKAGE_GPSD_TIMING),y)
+ GPSD_CONF_OPT += --disable-timing
+endif
+ifneq ($(BR2_PACKAGE_GPSD_CLIENT_DEBUG),y)
+ GPSD_CONF_OPT += --disable-clientdebug
+endif
+ifeq ($(BR2_PACKAGE_GPSD_USER),y)
+ GPSD_CONF_OPT += --enable-gpsd-user=$(BR2_PACKAGE_GPSD_USER_VALUE)
+endif
+ifeq ($(BR2_PACKAGE_GPSD_GROUP),y)
+ GPSD_CONF_OPT += --enable-gpsd-group=$(BR2_PACKAGE_GPSD_GROUP_VALUE)
+endif
+ifeq ($(BR2_PACKAGE_GPSD_FIXED_PORT_SPEED),y)
+ GPSD_CONF_OPT += --enable-fixed-port-speed=$(BR2_PACKAGE_GPSD_FIXED_PORT_SPEED_VALUE)
+endif
+ifeq ($(BR2_PACKAGE_GPSD_MAX_CLIENT),y)
+ GPSD_CONF_OPT += --enable-max-clients=$(BR2_PACKAGE_GPSD_MAX_CLIENT_VALUE)
+endif
+ifeq ($(BR2_PACKAGE_GPSD_MAX_DEV),y)
+ GPSD_CONF_OPT += --enable-max-devices=$(BR2_PACKAGE_GPSD_MAX_DEV_VALUE)
+endif
+
+define GPSD_BUILDS_CMDS
+ $(SED) 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' $(GPSD_DIR)/libtool
+ $(SED) 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' $(GPSD_DIR)/libtool
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) all libgpsmm
+endef
+
+define GPSD_INSTALL_TARGET_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+ if [ ! -f $(TARGET_DIR)/etc/init.d/S50gpsd ]; then \
+ $(INSTALL) -m 0755 -D package/gpsd/S50gpsd $(TARGET_DIR)/etc/init.d/S50gpsd; \
+ $(SED) 's,^DEVICES=.*,DEVICES=$(BR2_PACKAGE_GPSD_DEVICES),' $(TARGET_DIR)/etc/init.d/S50gpsd; \
+ fi
+endef
+
+define GPSD_UNINSTALL_TARGET_CMDS
+ rm -f $(addprefix $(TARGET_DIR)/usr/bin/, $(GPSD_TARGET_BINS))
+ rm -f $(TARGET_DIR)/usr/lib/libgps.*
+ rm -f $(TARGET_DIR)/usr/lib/libgpsd.*
+ rm -f $(TARGET_DIR)/usr/sbin/gpsd
+ rm -f $(TARGET_DIR)/etc/init.d/S50gpsd
+endef
+
+$(eval $(call AUTOTARGETS,package,gpsd))