[binoculars-ng] removed Arbitrary instances
[hkl.git] / binoculars-ng / Makefile.am
blob73aa32e167f3e810250d505086ed151e0513c3cd
1 SUBDIRS = binoculars
3 AM_CFLAGS=\
4         -I$(top_srcdir) \
5         -I$(top_srcdir)/binoculars-ng/binoculars \
6         -I$$($(GHCPKG) field bindings-DSL include-dirs | cut -d' ' -f 2) \
7         $(DATATYPE99_CFLAGS) \
8         $(GLIB_CFLAGS)
10 AM_LDFLAGS=\
11         $(GLIB_LIBS) \
12         $(GSL_LIBS)
14 AM_GHCFLAGS=\
15         -g \
16         -rtsopts \
17         -threaded \
18         -with-rtsopts=-N4 \
19         -Wall \
20         -O \
21         -i$(srcdir)/src \
22         -i$(builddir)/src \
23         -outputdir=$(builddir)/src
25 .hsc.hs:
26         $(HSC2HS) $$(echo "$(AM_CFLAGS)" | sed "s%-ftrack-macro-expansion=0%%") -o $@ $<
28 .hs.o:
29         $(GHC) --make $(AM_GHCFLAGS) -c -o $@ $<
31 hsc_sources=\
32         src/Hkl/C/Hkl.hsc \
33         src/Hkl/C/Binoculars.hsc
35 sources=\
36         src/Hkl/Binoculars.hs \
37         src/Hkl/Binoculars/Command.hs \
38         src/Hkl/Binoculars/Common.hs \
39         src/Hkl/Binoculars/Config.hs \
40         src/Hkl/Binoculars/Config/Common.hs \
41         src/Hkl/Binoculars/Config/Sample.hs \
42         src/Hkl/Binoculars/Pipes.hs \
43         src/Hkl/Binoculars/Projections.hs \
44         src/Hkl/Binoculars/Projections/Angles.hs \
45         src/Hkl/Binoculars/Projections/Hkl.hs \
46         src/Hkl/Binoculars/Projections/QCustom.hs \
47         src/Hkl/Binoculars/Projections/Test.hs \
48         src/Hkl/C.hs \
49         src/Hkl/DataSource.hs \
50         src/Hkl/Detector.hs \
51         src/Hkl/Exception.hs \
52         src/Hkl/Geometry.hs \
53         src/Hkl/H5.hs \
54         src/Hkl/HKD.hs \
55         src/Hkl/Image.hs \
56         src/Hkl/Lattice.hs \
57         src/Hkl/Orphan.hs \
58         src/Hkl/Parameter.hs \
59         src/Hkl/Pipes.hs \
60         src/Hkl/Repa.hs \
61         src/Hkl/Sample.hs \
62         src/Hkl/Types.hs \
63         src/Hkl/Utils.hs \
64         src/Paths_hkl.hs
66 EXTRA_DIST=$(sources)
68 CLEANFILES=\
69         $(hsc_sources:.hsc=.dyn_hi) \
70         $(hsc_sources:.hsc=.dyn_o) \
71         $(hsc_sources:.hsc=.hi) \
72         $(hsc_sources:.hsc=.hs) \
73         $(hsc_sources:.hsc=.o) \
74         $(sources:.hs=.dyn_hi) \
75         $(sources:.hs=.dyn_o) \
76         $(sources:.hs=.hi) \
77         $(sources:.hs=.o) \
78         cabal.project.local \
79         src/Hkl/H5_stub.h \
80         src/Main.dyn_hi \
81         src/Main.dyn_o \
82         src/Main.hi
85 src/Hkl/C/Binoculars.o: src/Hkl/C/Hkl.o src/Hkl/C/Hkl.hs
87 $(sources) src/Main.hs : src/Hkl/C/Binoculars.o src/Hkl/C/Binoculars.hs
89 src/Main.o : $(sources)
91 bin_PROGRAMS = binoculars-ng
92 binoculars_ng_SOURCES = $(hsc_sources) src/Main.hs
93 binoculars_ng_GHCFLAGS=\
94         -package aeson \
95         -package async \
96         -package attoparsec \
97         -package base \
98         -package bindings-DSL \
99         -package bytestring \
100         -package config-ini \
101         -package containers \
102         -package dimensional \
103         -package directory \
104         -package either \
105         -package errors \
106         -package exceptions \
107         -package extra \
108         -package filepath \
109         -package intervals \
110         -package generic-random \
111         -package hashable \
112         -package hdf5 \
113         -package hmatrix \
114         -package hmatrix-gsl \
115         -package ini \
116         -package lens \
117         -package monad-logger \
118         -package monad-loops \
119         -package mtl \
120         -package optparse-applicative \
121         -package path \
122         -package path-io \
123         -package pipes \
124         -package pipes-safe \
125         -package terminal-progress-bar \
126         -package text \
127         -package transformers \
128         -package unordered-containers \
129         -package vector
130 binoculars_ng_LDADD = \
131         $(top_builddir)/hkl/libhkl.la \
132         $(top_builddir)/binoculars-ng/binoculars/libhkl-binoculars.la
133 binoculars_ng_LINK= $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
134         --mode=link $(GHC) $(AM_GHCFLAGS) $(GHCFLAGS) $(binoculars_ng_GHCFLAGS) $(sources:.hs=.o) -o $@
136 ###############
137 # local tests #
138 ###############
140 RTS = +RTS -N4 -RTS
141 RUN = /usr/bin/time -v ./binoculars-ng $(RTS)
142 PROCESS = $(RUN) --debug process
143 PROCESS_DBG=gdb --args ./binoculars-ng --debug process
145 cristal: binoculars-ng
146         $(PROCESS) /nfs/ruche/cristal-soleil/com-cristal/2019/Run5/99190273_Bouyanfif/PourFred/conf_mask.ini  64
148 mars: binoculars-ng
149 #       $(PROCESS) data/test/config_mars_ruche_rel_flyscan.ini
150 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 173
151 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 153
152 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 132
153 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 105
154 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 78
155 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2021_Run5/20191020/binoculars/config_qxqyqz.ini 75
156 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2022_Run1/20211749/binoculars/config_qxqyqz.ini 75
157 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2022_Run1/20211749/binoculars/config_qxqyqz.ini 145
158 #       $(PROCESS) /nfs/ruche/mars-soleil/com-mars/2024_Run1/HR_XRD_CX2/binoculars/config_qxqyqz.ini 473
160 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 72-82
161 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 100-111
162 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 129-138
163 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 158-167
164 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 186-195
165 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 207-216
166 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 228-237
167 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 246-255
168         $(PROCESS) data/test/config_mars_ruche_20232102.ini 261-271
169 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 285-294
170 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 306-315
171 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 329-338
172 #       $(PROCESS) data/test/config_mars_ruche_20232102.ini 272
174 sixs: binoculars-ng
175         $(PROCESS) /nfs/ruche-sixs/sixs-soleil/com-sixs/2020/Run4/20200116_Jeridi/binoculars/config.cfg 496,546
177 # when developping with cabal
178 cabal:
179         @rm -f cabal.project.local
180         cabal configure \
181                 --extra-lib-dirs=$(abs_top_builddir)/hkl/.libs \
182                 --extra-lib-dirs=$(abs_top_builddir)/binoculars-ng/binoculars/.libs \
183                 --extra-include-dirs=$(abs_top_srcdir) \
184                 --extra-include-dirs=$(abs_top_srcdir)/binoculars-ng/binoculars \
185                 -fuseHklDev \
186                 --enable-profiling \
187                 --enable-library-profiling \
188                 --library-profiling-detail=toplevel-functions \
189                 --profiling-detail=toplevel-functions \
190                 --enable-optimization
191         $(EMACS) -f haskell-compile
193 clean-local:
194         cabal clean
197 .PHONY: cabal