aboutsummaryrefslogtreecommitdiff
path: root/src/make.configuration.deps
blob: 9fc3215d204f6439d21fdaebc794e303c6b6d91c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Extend CFLAGS if HDF5 library was built with LFS support
LFS_support := $(shell grep -s _LARGEFILE_SOURCE $(strip $(HDF5_LIB_DIRS))/libhdf5.settings)

ifneq ($(strip $(LFS_support)),)
  CFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
endif

# general linking rule
$(UTIL_DIR)$(DIRSEP)%: $(BUILD_DIR)$(DIRSEP)IOHDF5$(DIRSEP)%.o
	@echo Creating $* in $(UTIL_DIR) from $<
	if [ ! -d $(UTIL_DIR) ]; then $(MKDIR) $(MKDIRFLAGS) $(UTIL_DIR) ; fi
	$(LD) $(CREATEEXE)$(OPTIONSEP)$@ $(DEBUG_LD) $(LDFLAGS) $(EXTRAFLAGS) $< $(HDF5_LIB_DIRS:%=-L%) $(HDF5_LIBS:%=-l%) -lm

# general compile rule
$(BUILD_DIR)$(DIRSEP)IOHDF5$(DIRSEP)%.o: $(PACKAGE_DIR)$(DIRSEP)CactusPUGHIO$(DIRSEP)IOHDF5$(DIRSEP)src$(DIRSEP)util$(DIRSEP)%.c
	@echo Compiling $<
	if [ ! -d $(BUILD_DIR)$(DIRSEP)IOHDF5 ]; then $(MKDIR) $(MKDIRFLAGS) $(BUILD_DIR)$(DIRSEP)IOHDF5 ; fi
	cd $(BUILD_DIR)$(DIRSEP)IOHDF5
	$(CC) $< -DCCODE $(CFLAGS) -I$(CONFIG) -I$(BINDINGS_DIR)$(DIRSEP)include -I$(FLESH_DIR)$(DIRSEP)include -I$(CCTK_HOME)$(DIRSEP)arrangements $(HDF5_INC_DIRS:%=-I%) $(SYS_INC_DIRS:%=-I%) $(CCOMPILEONLY)$(OPTIONSEP)$@


# linking rule for hdf5_convert_from_ieeeio
$(UTIL_DIR)$(DIRSEP)hdf5_convert_from_ieeeio: $(BUILD_DIR)$(DIRSEP)IOHDF5$(DIRSEP)hdf5_convert_from_ieeeio.o
	@echo Creating hdf5_convert_from_ieeeio in $(UTIL_DIR) from $<
	if [ ! -d $(UTIL_DIR) ]; then $(MKDIR) $(MKDIRFLAGS) $(UTIL_DIR) ; fi
	$(LD) $(CREATEEXE)$(OPTIONSEP)$@ $(DEBUG_LD) $(LDFLAGS) $(EXTRAFLAGS) $< -L$(CCTK_LIBDIR) -lFlexIO $(HDF5_LIB_DIRS:%=-L%) $(HDF5_LIBS:%=-l%) -lm

# compile rule for hdf5_convert_from_ieeeio
$(BUILD_DIR)$(DIRSEP)IOHDF5$(DIRSEP)hdf5_convert_from_ieeeio.o: $(PACKAGE_DIR)$(DIRSEP)CactusPUGHIO$(DIRSEP)IOHDF5$(DIRSEP)src$(DIRSEP)util$(DIRSEP)hdf5_convert_from_ieeeio.c
	@echo Compiling $<
	if [ ! -d $(BUILD_DIR)$(DIRSEP)IOHDF5 ]; then $(MKDIR) $(MKDIRFLAGS) $(BUILD_DIR)$(DIRSEP)IOHDF5 ; fi
	cd $(BUILD_DIR)$(DIRSEP)IOHDF5
	$(CC) $< -DCCODE $(CFLAGS) -DANSI -I$(CONFIG) -I$(BINDINGS_DIR)$(DIRSEP)include -I$(FLESH_DIR)$(DIRSEP)include -I$(CCTK_HOME)$(DIRSEP)arrangements $(HDF5_INC_DIRS:%=-I%) $(FLEXIO_INC_DIRS:%=-I%) $(SYS_INC_DIRS:%=-I%) $(CCOMPILEONLY)$(OPTIONSEP)$@


# need to extract SDF includes and libs from the bindings makefiles
# (those are not included when building utilities)
SDF_INC_DIRS := $(shell grep INC_DIRS $(CONFIG)/../bindings/Configuration/IOSDF/make.configuration.defn 2>/dev/null | cut -f2 -d'=')
SDF_LIB_DIRS := $(shell grep LIBDIRS $(CONFIG)/../bindings/Configuration/make.link | cut -f2 -d'=')
SDF_LIBS := $(shell grep LIBS $(CONFIG)/../bindings/Configuration/make.link | cut -f2 -d'=')

# linking rule for hdf5_convert_from_sdf
$(UTIL_DIR)$(DIRSEP)hdf5_convert_from_sdf: $(BUILD_DIR)$(DIRSEP)IOHDF5$(DIRSEP)hdf5_convert_from_sdf.o
	@echo Creating hdf5_convert_from_sdf in $(UTIL_DIR) from $<
	if [ ! -d $(UTIL_DIR) ]; then $(MKDIR) $(MKDIRFLAGS) $(UTIL_DIR) ; fi
	$(LD) $(CREATEEXE)$(OPTIONSEP)$@ $(DEBUG_LD) $(LDFLAGS) $(EXTRAFLAGS) $< -L$(CCTK_LIBDIR) $(SDF_LIB_DIRS:%=-L%) $(SDF_LIBS:%=-l%) $(HDF5_LIB_DIRS:%=-L%) $(HDF5_LIBS:%=-l%) -lm

# compile rule for hdf5_convert_from_sdf
$(BUILD_DIR)$(DIRSEP)IOHDF5$(DIRSEP)hdf5_convert_from_sdf.o: $(PACKAGE_DIR)$(DIRSEP)CactusPUGHIO$(DIRSEP)IOHDF5$(DIRSEP)src$(DIRSEP)util$(DIRSEP)hdf5_convert_from_sdf.c
	@echo Compiling $<
	if [ ! -d $(BUILD_DIR)$(DIRSEP)IOHDF5 ]; then $(MKDIR) $(MKDIRFLAGS) $(BUILD_DIR)$(DIRSEP)IOHDF5 ; fi
	cd $(BUILD_DIR)$(DIRSEP)IOHDF5
	$(CC) $< -DCCODE $(CFLAGS) -DANSI -I$(CONFIG) -I$(BINDINGS_DIR)$(DIRSEP)include -I$(FLESH_DIR)$(DIRSEP)include -I$(SDF_INC_DIRS) $(HDF5_INC_DIRS:%=-I%) $(FLEXIO_INC_DIRS:%=-I%) $(SYS_INC_DIRS:%=-I%) $(CCOMPILEONLY)$(OPTIONSEP)$@