File: Makefile

package info (click to toggle)
plink 1.07%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 3,136 kB
  • sloc: cpp: 72,375; makefile: 123; sh: 12
file content (167 lines) | stat: -rw-r--r-- 4,146 bytes parent folder | download | duplicates (6)
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167

# -----------------------------------------------------------------
#   Makefile for PLINK 
#   
#   Supported platforms
#       Unix / Linux                UNIX
#       Windows                     WIN
#       Mac                         MAC
#       Solaris                     SOLARIS
#  
#   Compilation options
#       R plugins                   WITH_R_PLUGINS
#       Web-based version check     WITH_WEBCHECK
#       Ensure 32-bit binary        FORCE_32BIT 
#       (Ignored)                   WITH_ZLIB
#       Link to LAPACK              WITH_LAPACK
#       Force dynamic linking       FORCE_DYNAMIC
#
# ---------------------------------------------------------------------

# Set this variable to either UNIX, MAC or WIN
SYS = UNIX

# Leave blank after "=" to disable; put "= 1" to enable
WITH_R_PLUGINS = 1
WITH_WEBCHECK = 1
FORCE_32BIT = 
WITH_ZLIB = 1
WITH_LAPACK = 
FORCE_DYNAMIC = 

# Put C++ compiler here; Windows has it's own specific version
CXX_UNIX = g++
CXX_WIN = c:\bin\mingw\bin\mingw32-g++.exe

# Any other compiler flags here ( -Wall, -g, etc)
CXXFLAGS = 

# Misc
LIB_LAPACK = /usr/lib/liblapack.so.3


# --------------------------------------------------------------------
# Do not edit below this line
# --------------------------------------------------------------------

CXXFLAGS += -O3 -I.
OUTPUT = plink

# Some system specific flags

ifeq ($(SYS),WIN)
 CXXFLAGS += -DWIN -static
 CXX = $(CXX_WIN)
 ifndef FORCE_DYNAMIC
  CXXFLAGS += -static
 endif
endif

ifeq ($(SYS),UNIX)
 CXXFLAGS += -DUNIX
 CXX = $(CXX_UNIX)
 ifndef FORCE_DYNAMIC
  CXXFLAGS += -static
 endif
endif

ifeq ($(SYS),MAC)
 CXXFLAGS += -DUNIX -Dfopen64=fopen
 CXX = $(CXX_UNIX)
endif

ifeq ($(SYS),SOLARIS)
 CXXFLAGS += -fast
 CXXFLAGS += -xtarget=ultraT2  # specific Sun hardware (must be specified after the -fast option)
 CXXFLAGS += -xdepend=no       # required to fix seg fault in iropt
 LIB = -lstdc++
 LIB += -lgcc
 LIB += -lsocket         # added for socket support
 LIB += -lnsl            # added for network services support
 CXX = $(CXX_UNIX)
endif

ifdef FORCE_32BIT
 CXXFLAGS += -m32
endif


# Flags for web-based version check

ifdef WITH_WEBCHECK
ifeq ($(SYS),WIN)
 LIB += -lwsock32
endif
else
 CXXFLAGS += -DSKIP
endif



SRC = plink.cpp options.cpp input.cpp binput.cpp tinput.cpp genome.cpp	\
helper.cpp stats.cpp filters.cpp locus.cpp multi.cpp crandom.cpp	\
cluster.cpp mds.cpp output.cpp informative.cpp assoc.cpp epi.cpp	\
prephap.cpp phase.cpp trio.cpp tdt.cpp sharing.cpp genepi.cpp sets.cpp	\
perm.cpp mh.cpp genedrop.cpp gxe.cpp merge.cpp hotel.cpp multiple.cpp	\
haploCC.cpp haploTDT.cpp poo.cpp webcheck.cpp qfam.cpp linear.cpp	\
bmerge.cpp parse.cpp mishap.cpp legacy.cpp homozyg.cpp segment.cpp	\
model.cpp logistic.cpp glm.cpp dcdflib.cpp elf.cpp dfam.cpp fisher.cpp	\
linput.cpp sockets.cpp lookup.cpp proxy.cpp pdriver.cpp haploQTL.cpp	\
haplohelper.cpp haplowindow.cpp genogroup.cpp nonfounderphasing.cpp	\
clumpld.cpp genoerr.cpp em.cpp impute.cpp metaem.cpp profile.cpp	\
nlist.cpp whap.cpp simul.cpp gvar.cpp cnv.cpp step.cpp greport.cpp	\
flip.cpp qualscores.cpp cnvqt.cpp cfamily.cpp setscreen.cpp idhelp.cpp	\
tag.cpp hapglm.cpp lookup2.cpp blox.cpp zed.cpp dosage.cpp annot.cpp	\
metaanal.cpp 


HDR = plink.h options.h helper.h stats.h crandom.h sets.h phase.h	\
perm.h model.h linear.h logistic.h dcdflib.h ipmpar.h cdflib.h		\
fisher.h sockets.h haplowindow.h genogroup.h clumpld.h nlist.h whap.h	\
gvar.h cnv.h cfamily.h idhelp.h zed.h 

ifdef WITH_R_PLUGINS
CXXFLAGS += -DWITH_R_PLUGINS
HDR += sisocks.h Rsrv.h Rconnection.h config.h
SRC += r.cpp Rconnection.cpp
ifeq ($(SYS),MAC)
LIB += -ldl
endif
ifeq ($(SYS),UNIX)
LIB += -ldl -lcrypt
endif
endif

ifdef WITH_ZLIB
CXXFLAGS += -DWITH_ZLIB
HDR += zfstream.h
SRC += zfstream.cpp
LIB += -lz
endif

ifdef WITH_LAPACK
CXXFLAGS += -DWITH_LAPACK
HDR += lapackf.h
SRC += lapackf.cpp
LIB += $(LIB_LAPACK) 
endif

OBJ = $(SRC:.cpp=.o)

all : $(OUTPUT) 

$(OUTPUT) :
	$(CXX) $(CXXFLAGS) -o $(OUTPUT) $(OBJ) $(LIB) 

$(OBJ) : $(HDR)

.cpp.o : 
	$(CXX) $(CXXFLAGS) -c $*.cpp
.SUFFIXES : .cpp .c .o $(SUFFIXES)

$(OUTPUT) : $(OBJ)

FORCE:

clean:
	rm -f *.o *~