X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fhsc2hs%2FMakefile;h=de8d64f06b85cbc5fc0986d5085210fe902f14e4;hb=ff073cf32346caaa00f2c15161c88de6a3c5f8db;hp=c60705f81ec4d1d535f1b1578a094b60594efa61;hpb=fdf1cd0399158308769fcb2ab7e46e215a68d865;p=ghc-hetmet.git diff --git a/utils/hsc2hs/Makefile b/utils/hsc2hs/Makefile index c60705f..de8d64f 100644 --- a/utils/hsc2hs/Makefile +++ b/utils/hsc2hs/Makefile @@ -33,22 +33,26 @@ INPLACE_HS=hsc2hs-inplace.hs INPLACE_PROG=hsc2hs-inplace EXCLUDED_SRCS+=$(INPLACE_HS) -# FPTOOLS_TOP_ABS platform uses backslashes, at least on Cygwin, but that -# will go wrong when we use it in a Haskell string below. -TOP_ABS=$(subst \\,/,$(FPTOOLS_TOP_ABS_PLATFORM)) - ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" extra_flags=$(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS))) else extra_flags= endif +nothing= +space=$(nothing) $(nothing) +# Given +# foo bar +# make +# :\"-Ifoo\":\"-Ibar\" +GMP_INCLUDE_DIRS_STRINGS = $(subst $(space),,$(foreach d,$(GMP_INCLUDE_DIRS),:\"-I$(d)\")) + $(INPLACE_HS): Makefile $(FPTOOLS_TOP)/mk/config.mk echo "import System.Cmd; import System.Environment; import System.Exit" > $@ - echo "main = do args <- getArgs; rawSystem \"$(TOP_ABS)/$(GHC_HSC2HS_DIR_REL)/$(HS_PROG)\" (\"--template=$(TOP_ABS)/$(GHC_HSC2HS_DIR_REL)/template-hsc.h\":\"--cc=$(CC)\":\"--ld=$(CC)\"$(patsubst %,:\"%\",$(extra_flags)):\"--cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt)\":\"-I$(TOP_ABS)/$(GHC_INCLUDE_DIR_REL)\":\"-I$(TOP_ABS)/gmp/gmpbuild\":args) >>= exitWith" >> $@ + echo "main = do args <- getArgs; rawSystem \"$(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)/$(HS_PROG)\" (\"--template=$(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)/template-hsc.h\":\"--cc=$(CC)\":\"--ld=$(CC)\"$(patsubst %,:\"%\",$(extra_flags)):\"--cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt)\":\"-I$(FPTOOLS_TOP_ABS)/$(GHC_INCLUDE_DIR_REL)\":\"-I$(FPTOOLS_TOP_ABS)/gmp/gmpbuild\"$(GMP_INCLUDE_DIRS_STRINGS):args) >>= exitWith" >> $@ $(INPLACE_PROG): $(INPLACE_HS) - $(GHC) --make $< -o $@ + $(HC) --make $< -o $@ all :: $(INPLACE_PROG) @@ -58,9 +62,9 @@ ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" INSTALL_PROGS += $(HS_PROG) else INSTALL_LIBEXECS += $(HS_PROG) -LINK = hsc2hs +LINK = hsc2hs-ghc LINK_TARGET = $(LINK)-$(ProjectVersion) -INSTALLED_SCRIPT=$(bindir)/$(LINK_TARGET) +INSTALLED_SCRIPT=$(DESTDIR)$(bindir)/$(LINK_TARGET) install:: $(RM) -f $(INSTALLED_SCRIPT) echo "#!$(SHELL)" >> $(INSTALLED_SCRIPT) @@ -70,6 +74,11 @@ install:: echo "HSC2HS_EXTRA=" >> $(INSTALLED_SCRIPT) cat hsc2hs.sh >> $(INSTALLED_SCRIPT) $(EXECUTABLE_FILE) $(INSTALLED_SCRIPT) + +ifneq "$(NO_INSTALL_HSC2HS)" "YES" +install:: + $(CP) $(INSTALLED_SCRIPT) $(DESTDIR)/$(bindir)/hsc2hs +endif endif # -----------------------------------------------------------------------------