EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Makefile question
From: "Johnson, Andrew N. via Tech-talk" <[email protected]>
To: "Rivers, Mark L." <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Mon, 10 Dec 2018 04:39:17 +0000
Hi Mark,

I haven’t checked the build rules yet, but I wonder if your bitshuffle_hdf5_LIBS setting is wrong, shouldn’t that be set to bitshuffle instead of bitshuffle_hdf5? It currently looks like you’re asking the build to link that library against itself. I suspect that if you fix that the build system may do what you want automatically.

- Andrew

-- 
Sent from my iPad

On Dec 9, 2018, at 7:49 AM, Mark Rivers via Tech-talk <[email protected]> wrote:

I have a Makefile that builds 2 libraries.  Library A must be built before library B, because B depends on A (important for dynamic builds on Windows).  What is the rule I need to add to force A to be built before B? 

 

 

This is the actual Makefile.  bitshuffle_hdf5.lib must be built after bitshuffle.lib.

 

TOP=../..

include $(TOP)/configure/CONFIG

#----------------------------------------

#  ADD MACRO DEFINITIONS AFTER THIS LINE

#=============================

 

 

ifeq ($(WITH_BITSHUFFLE),YES)

  ifeq ($(BITSHUFFLE_EXTERNAL),NO)

 

    LIBRARY_IOC = bitshuffle

    BITSHUFFLE = $(TOP)/supportApp/bitshuffleSrc

    USR_CFLAGS_Linux += -std=c99

    USR_CFLAGS_WIN32 += -DLZ4_DLL_EXPORT=1

 

    INC += bitshuffle.h

    INC += bitshuffle_core.h

    INC += bshuf_h5filter.h

    bitshuffle_SRCS += bitshuffle.c

    bitshuffle_SRCS += bitshuffle_core.c

    bitshuffle_SRCS += iochain.c

   

    SRC_DIRS += $(BITSHUFFLE)/lz4

    INC += lz4.h

    bitshuffle_SRCS += lz4.c

 

    ifeq ($(WITH_HDF5),YES)

        LIBRARY_IOC = bitshuffle_hdf5

        bitshuffle_hdf5_SRCS += bshuf_h5filter.c

        bitshuffle_hdf5_SRCS += bshuf_h5plugin.c

        bitshuffle_hdf5_LIBS += bitshuffle hdf5

    endif # ($(WITH_HDF5),YES)

 

  endif # ($(BITSHUFFLE_EXTERNAL),NO)

endif # ($(WITH_BITSHUFFLE),YES)

 

include $(TOP)/configure/RULES

#----------------------------------------

#  ADD RULES AFTER THIS LINE

 

 

 

I tried this rule, which would only work on Windows, but it did not work.

 

bitshuffle_hdf5.lib: bitshuffle.lib

 

 


Replies:
Re: Makefile question Ralph Lange via Tech-talk
References:
Makefile question Mark Rivers via Tech-talk

Navigate by Date:
Prev: Makefile question Mark Rivers via Tech-talk
Next: Re: Makefile question Ralph Lange via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Makefile question Mark Rivers via Tech-talk
Next: Re: Makefile question Ralph Lange via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  2020  2021  2022  2023  2024