Hello,

I am trying to write rules in order to build a program with ghc

I end up with this, I think that I could improve all this a lot.

So I would like your advices in order to improve this

thanks for considering

Frederic

GHCLINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(GHC) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@

.hsc.o:
# fake in order to let automake generate clean rules for _OBJECTS files
        hsc2hs --cflag=$(AM_CFLAGS) -o $@ $<

.hs.o:
# fake in order to let automake generate clean rules for _OBJECTS files
        ghc --make -i$(srcdir)/src -i$(builddir)/src -outputdir=$(builddir)/src 
-c -O -o $@ $<


hsc_sources=\
        src/Hkl/C/Hkl.hsc \
        src/Hkl/C/Binoculars.hsc

sources=\
        src/Hkl.hs \
        src/Hkl/Binoculars.hs \
        src/Hkl/Binoculars/Command.hs \
        src/Hkl/Binoculars/Common.hs \
        src/Hkl/Binoculars/Config.hs \
        ...

CLEANFILES=\
        src/Hkl/Binoculars.hi \
        src/Hkl/Binoculars/Config.hi \
        src/Hkl/Binoculars/Config.dyn_o \
        src/Hkl/Binoculars/Config.dyn_hi \
        src/Hkl/Binoculars/Config/Common.hi \
        src/Hkl/Binoculars/Config/Sample.hi \
        ...

bin_PROGRAMS = binoculars-ng
binoculars_ng_SOURCES = $(hsc_sources) $(sources)
binoculars_ng_LDADD = \
        $(top_builddir)/hkl/libhkl.la \
        $(top_builddir)/binoculars/libhkl-binoculars.la
binoculars_ng_LINK=$(GHCLINK) \
        -i$(srcdir)/src -i$(builddir)/src -outputdir=$(builddir)/src \
        $(builddir)/src/Hkl/C/Hkl.hs \
        $(builddir)/src/Hkl/C/Binoculars.hs \
        $(srcdir)/app/Binoculars.hs


binoculars-ng$(EXEEXT): $(binoculars_ng_DEPENDENCIES) 
$(EXTRA_binoculars_ng_DEPENDENCIES)
        @rm -f binoculars-ng$(EXEEXT)
        mkdir -p $(builddir)/src/Hkl/C/
        @rm -f src/Hkl/C/Hkl.hs
        $(HSC2HS) --cflag=$(AM_CFLAGS) -o src/Hkl/C/Hkl.hs 
$(srcdir)/src/Hkl/C/Hkl.hsc
        @rm -f src/Hkl/C/Binoculars.hs
        $(HSC2HS) --cflag=$(AM_CFLAGS) -o src/Hkl/C/Binoculars.hs 
$(srcdir)/src/Hkl/C/Binoculars.hsc
        $(AM_V_GEN)$(binoculars_ng_LINK) $(binoculars_ng_LDADD) $(LIBS)

Reply via email to