X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Futils%2Fghc-pkg%2FMakefile;h=7c9cd50c851a36e07d9e826e106d2485ef7a220b;hb=0c0d05f46ed42dceac771999adb769f12c10cc39;hp=2ddf5d6ca5625c91dbff9788d14daee867e73489;hpb=88ce01861a6e2ef0f20628e85c53e7c0d6de907b;p=ghc-hetmet.git diff --git a/ghc/utils/ghc-pkg/Makefile b/ghc/utils/ghc-pkg/Makefile index 2ddf5d6..7c9cd50 100644 --- a/ghc/utils/ghc-pkg/Makefile +++ b/ghc/utils/ghc-pkg/Makefile @@ -1,12 +1,82 @@ # ----------------------------------------------------------------------------- -# $Id: Makefile,v 1.1 2001/03/15 15:51:38 simonmar Exp $ +# $Id: Makefile,v 1.16 2002/04/30 14:40:56 simonmar Exp $ TOP=../.. include $(TOP)/mk/boilerplate.mk -HS_PROG = ghc-pkg -SRC_HC_OPTS += -cpp -DPKG_TOOL -DWANT_PRETTY -package util -package text -Dlibdir=\"$(libdir)\" +# hack for ghci-inplace script, see below +INSTALLING=1 -INSTALL_PROGS = $(HS_PROG) +# ----------------------------------------------------------------------------- +# ghc-pkg.bin + +SRC_HC_OPTS += -cpp -DPKG_TOOL -DWANT_PRETTY -package lang \ + -package util -package text + +ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +HS_PROG = ghc-pkg.bin +INSTALL_LIBEXECS += $(HS_PROG) +else +HS_PROG = ghc-pkg.exe +INSTALL_PROGS += $(HS_PROG) +SRC_HC_OPTS += -package win32 +endif + + +# ----------------------------------------------------------------------------- +# ghc-pkg script + +ifeq "$(INSTALLING)" "1" +ifeq "$(BIN_DIST)" "1" +GHCPKGBIN=$$\"\"libexecdir/$(HS_PROG) +PKGCONF=$$\"\"libdir/package.conf +else +GHCPKGBIN=$(libexecdir)/$(HS_PROG) +PKGCONF=$(libdir)/package.conf +endif # BIN_DIST +else +GHCPKGBIN=$(FPTOOLS_TOP_ABS)/ghc/utils/ghc-pkg/$(HS_PROG) +PKGCONF=$(FPTOOLS_TOP_ABS)/ghc/driver/package.conf.inplace +endif + +ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +INSTALLED_SCRIPT_PROG = ghc-pkg-$(ProjectVersion) +endif +INPLACE_SCRIPT_PROG = ghc-pkg-inplace + +SCRIPT_OBJS = ghc-pkg.sh +INTERP = $(SHELL) +SCRIPT_SUBST_VARS = GHCPKGBIN PKGCONFOPT +ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +INSTALL_SCRIPTS += $(SCRIPT_PROG) +endif +PKGCONFOPT = -f $(PKGCONF) + +ifeq "$(INSTALLING)" "1" +SCRIPT_PROG = $(INSTALLED_SCRIPT_PROG) +ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +LINK = ghc-pkg +endif +else +SCRIPT_PROG = $(INPLACE_SCRIPT_PROG) +endif + +# ----------------------------------------------------------------------------- +# don't recurse on 'make install' +# +ifeq "$(INSTALLING)" "1" +all :: $(HS_PROG) + $(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@ +clean distclean maintainer-clean :: + $(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@ +endif + +# ghc-pkg is needed to boot in ghc/rts and library dirs +# Do a recursive 'make all' after generating dependencies, because this +# will work with 'make -j'. +ifneq "$(BootingFromHc)" "YES" +boot :: depend + $(MAKE) all +endif include $(TOP)/mk/target.mk