summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: c081fc9f886de80c48730a77a92b01413542ce58 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# ##################################################################
#
#
# This is the top level Makefile to build HDF5 on Unix based
#       platforms
#

# Define your sh shell
#SHELL=/bin/sh

# Define your machine type
#MACHINE=UNIX386

# Define your C compiler and flags
CC= gcc
#CFLAGS= -ansi -Wall -pedantic -O -c
CFLAGS= -ansi -Wall -pedantic -g -c

# Define your FORTRAN compiler
FC= f77
FFLAGS=

# Location where the HDF include files are to be installed
HDFINC= `pwd`/src

# Location where the HDF library is to be installed
HDFLIB= `pwd`/src

# Location to put HDF utility executables
HDFBIN= `pwd`/bin

# Name of library archiver and flags to send
AR= ar
ARFLAGS= ru

# Name of achive randomizer (use 'touch' if non-existant)
RANLIB= ranlib

# Name of remove utility
RM= /bin/rm
RMFLAGS= -f 

# ##################################################################
#
# This is the top level Makefile to build HDF5 on Unix based
#       platforms
#

#
#
# Flags to recursively send
#

HDF_FLAGS       = \
        CC="$(CC)" \
        CFLAGS="$(CFLAGS)" \
        FC="$(FC)" \
        FFLAGS="$(FFLAGS)" \
        RANLIB="$(RANLIB)" \
        AR="$(AR)" \
        ARFLAGS="$(ARFLAGS)" \
        RM="$(RM)" \
        RMFLAGS="$(RMFLAGS)" \
        MACHINE="$(MACHINE)" \
        HDFLIB="$(HDFLIB)" \
        HDFINC="$(HDFINC)" \
	HDFBIN="$(HDFBIN)"	

#
#
# General rules
#
all:
	@$(MAKE) $(MFLAGS) $(HDF_FLAGS) TARG=$@ \
          SUBDIRS="src test" subd message 

rebuild:
	@$(MAKE) $(MFLAGS) $(HDF_FLAGS) TARG=$@ \
          SUBDIRS="src test" subd message 

libhdf5:
	@$(MAKE) $(MFLAGS) $(HDF_FLAGS) TARG=all \
          SUBDIRS="src" subd

tests:
	@$(MAKE) $(MFLAGS) $(HDF_FLAGS) TARG=test \
          SUBDIRS="src test" subd

debug:
	@$(MAKE) $(MFLAGS) $(HDF_FLAGS) TARG=debug \
          SUBDIRS="src test" subd message 

clean:
	@$(MAKE) $(MFLAGS) $(HDF_FLAGS) TARG=$@  \
          SUBDIRS="src test" subd
	$(RM) $(RMFLAGS) core *.log

distclean:
	@$(MAKE) $(MFLAGS) $(HDF_FLAGS) TARG=$@  \
          SUBDIRS="src test" subd
	$(RM) $(RMFLAGS) core *.log
	$(RM) -rf bin lib include

subd:
	@for dir in $(SUBDIRS); do \
		(cd $$dir; echo Making \`$(TARG)\' in `pwd`; \
		$(MAKE) $(MFLAGS) $(HDF_FLAGS) $(TARG)); \
	done

message:
	@echo ""
	@echo "***********************************************************"
	@echo " HDF5 library successfully created."
	@echo ""
	@echo "***********************************************************"
	@echo ""