X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Ftarget.mk;h=ecc22132d9432e3aafe3fcde9f1d8c54426f8d4f;hb=f282a8be3da78f235b047988157d2bd3f8e079f3;hp=30f719aebff916f3428b8f308f36d252d800250f;hpb=7045d1680cb53680192ce57f7e03de22bbe053e0;p=ghc-hetmet.git diff --git a/mk/target.mk b/mk/target.mk index 30f719a..ecc2213 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -356,8 +356,12 @@ endif all :: $(DLL_NAME) +ifeq "$(DLL_IMPLIB_NAME)" "" +DLL_IMPLIB_NAME = $(patsubst %.a, %_imp.a, $(LIBRARY)) +endif + $(DLL_NAME) :: $(LIBRARY) - $(BLD_DLL) --output-lib $(patsubst %.a, %_imp.a, $(LIBRARY)) --output-def $(patsubst %.dll,%.def,$(DLL_NAME)) -o $(DLL_NAME) $(LIBRARY) $(BLD_DLL_OPTS) + $(BLD_DLL) --output-lib $(DLL_IMPLIB_NAME) -o $(DLL_NAME) $(LIBRARY) $(BLD_DLL_OPTS) touch dLL_ifs.hi endif @@ -516,8 +520,14 @@ ifneq "$(INSTALL_PROGS)" "" install:: $(INSTALL_PROGS) @$(INSTALL_DIR) $(bindir) @for i in $(INSTALL_PROGS); do \ - echo $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i$(exeext) $(bindir); \ - $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i$(exeext) $(bindir); \ + case $$i in \ + *.dll) \ + echo $(INSTALL_DATA) $(INSTALL_BIN_OPTS) $$i $(bindir); \ + $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(bindir) ;; \ + *) \ + echo $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i$(exeext) $(bindir); \ + $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i$(exeext) $(bindir) ;; \ + esac; \ done endif @@ -544,7 +554,7 @@ ifneq "$(BIN_DIST)" "1" done else for i in $(INSTALL_SCRIPTS); do \ - $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(bindir); \ + $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(bindir)/$$i; \ done endif else @@ -567,13 +577,13 @@ ifneq "$(BIN_DIST)" "1" echo '$$'"libexecdir='$(libexecdir)';" >> $$i.tmp ; \ echo '$$'"datadir='$(datadir)';" >> $$i.tmp ; \ cat $$i >> $$i.tmp ; \ - echo $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libdir) ; \ + echo $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libdir)/$$i ; \ $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i.tmp $(libdir)/$$i ; \ $(RM) $$i.tmp; \ done else for i in $(INSTALL_LIB_SCRIPTS); do \ - $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libdir); \ + $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libdir)/$$i ; \ done endif else @@ -620,6 +630,8 @@ install:: $(INSTALL_LIBS) *.a) \ $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(libdir); \ $(RANLIB) $(libdir)/`basename $$i` ;; \ + *.dll) \ + $(INSTALL_DATA) -s $(INSTALL_OPTS) $$i $(libdir) ;; \ *) \ $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(libdir); \ esac; \