view src/libbiosig.mk @ 5280:6a8780aca793

* src/libbiosig.mk: install .dll files
author John Donoghue
date Tue, 28 Jan 2020 16:37:07 -0500
parents 4a14839df9a5
children e0fd834ea2e1
line wrap: on
line source

# This file is part of MXE.
# See index.html for further information.

PKG             := libbiosig
$(PKG)_WEBSITE  := http://biosig.sf.net/
$(PKG)_IGNORE   :=
$(PKG)_VERSION  := 1.9.5
$(PKG)_CHECKSUM := f7f65e4a18585da21394898896f52d7ef768c159
$(PKG)_SUBDIR   := biosig4c++-$($(PKG)_VERSION)
$(PKG)_FILE     := biosig4c++-$($(PKG)_VERSION).src.tar.gz
$(PKG)_URL      := https://sourceforge.net/projects/biosig/files/BioSig%20for%20C_C%2B%2B/src/$($(PKG)_FILE)
$(PKG)_DEPS     := suitesparse zlib libiberty libiconv lapack tinyxml dcmtk

define $(PKG)_UPDATE
    $(WGET) -q -O- 'https://biosig.sourceforge.io/download.html' | \
        $(GREP) biosig4c | \
        $(SED) -n 's_.*>v\([0-9]\.[0-9]\.[0-9]\)<.*_\1_p' | \
        $(SORT) -V | \
        tail -1
endef

define $(PKG)_BUILD_PRE

    cd '$(1)' && ./configure \
        ac_cv_func_malloc_0_nonnull=yes \
        ac_cv_func_realloc_0_nonnull=yes \
	--prefix=$(HOST_PREFIX) \
        $(HOST_AND_BUILD_CONFIGURE_OPTIONS)

    # make sure NDEBUG is defined
    $(SED) -i '/NDEBUG/ s|#||g' '$(1)'/Makefile

    ### disables declaration of sopen from io.h (imported through unistd.h)
    if [ "$(MXE_SYSTEM)" == "mingw" ]; then \
        $(SED) -i '/ sopen/ s#^/*#//#g' $(HOST_INCDIR)/io.h; \
    fi

    #$(SED) -i 's| -fstack-protector | |g' '$(1)'/Makefile
    #$(SED) -i 's| -D_FORTIFY_SOURCE=2 | |g' '$(1)'/Makefile
    #$(SED) -i 's| -lssp | |g' '$(1)'/Makefile

    TARGET='$(TARGET)' $(MAKE) -C '$(1)' clean
    TARGET='$(TARGET)' $(MAKE) -C '$(1)' -j '$(JOBS)' \
		libbiosig.a libgdf.a libphysicalunits.a \
    		libbiosig.def libgdf.def libphysicalunits.def

endef

define $(PKG)_BUILD_POST

    $(INSTALL) -m644 '$(1)/biosig.h'             '$(HOST_INCDIR)/'
    $(INSTALL) -m644 '$(1)/biosig2.h'            '$(HOST_INCDIR)/'
    $(INSTALL) -m644 '$(1)/gdftime.h'            '$(HOST_INCDIR)/'
    $(INSTALL) -m644 '$(1)/biosig-dev.h'         '$(HOST_INCDIR)/'

    $(INSTALL) -m644 '$(1)/libbiosig.a'          '$(HOST_LIBDIR)/'
    #$(INSTALL) -m644 '$(1)/libbiosig.def' 	 '$(HOST_LIBDIR)/'
    $(INSTALL) -m644 '$(1)/libbiosig.dll.a' 	 '$(HOST_LIBDIR)/'
    $(INSTALL) -m644 '$(1)/libbiosig.dll' 	 '$(HOST_BINDIR)/'

    $(INSTALL) -m644 '$(1)/libgdf.a'             '$(HOST_LIBDIR)/'
    #$(INSTALL) -m644 '$(1)/libgdf.def' 	 '$(HOST_LIBDIR)/'
    $(INSTALL) -m644 '$(1)/libgdf.dll.a' 	 '$(HOST_LIBDIR)/'
    $(INSTALL) -m644 '$(1)/libgdf.dll'	 	 '$(HOST_BINDIR)/'


    $(INSTALL) -m644 '$(1)/physicalunits.h'      '$(HOST_INCDIR)/'
    $(INSTALL) -m644 '$(1)/libphysicalunits.a'   '$(HOST_LIBDIR)/'
    #$(INSTALL) -m644 '$(1)/libphysicalunits.def' '$(HOST_LIBDIR)/'
    $(INSTALL) -m644 '$(1)/libphysicalunits.dll.a' '$(HOST_LIBDIR)/'
    $(INSTALL) -m644 '$(1)/libphysicalunits.dll' '$(HOST_BINDIR)/'

    if [ "$(MXE_WINDOWS_BUILD)" == "yes" ]; then \
        $(SED) -i '/^Libs:/ s/$$/ -liconv -lws2_32/' $(1)/libbiosig.pc; \
    fi
    $(INSTALL) -m644 '$(1)/libbiosig.pc'         '$(HOST_LIBDIR)/pkgconfig/'

endef


define $(PKG)_BUILD
    $($(PKG)_BUILD_PRE)
    TARGET=$(TARGET) CROSS=$(TARGET) $(MAKE) -C '$(1)' libbiosig
    $($(PKG)_BUILD_POST)
endef