X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Finterpreter%2FMakefile;h=68d34f158a99623c8036e81dc91e93e401b3b98f;hb=6eca2acf184d4911123193757bdd38e53caa3467;hp=c73f9e11fbdd6cd31fa7028718fb8cf0edc14f77;hpb=a084f34d1e3d67d2a9fa1da36f2da5aa99657777;p=ghc-hetmet.git diff --git a/ghc/interpreter/Makefile b/ghc/interpreter/Makefile index c73f9e1..68d34f1 100644 --- a/ghc/interpreter/Makefile +++ b/ghc/interpreter/Makefile @@ -1,6 +1,6 @@ # --------------------------------------------------------------------------- # -# $Id: Makefile,v 1.21 1999/11/23 18:08:17 sewardj Exp $ # +# $Id: Makefile,v 1.37 2000/05/26 10:14:33 sewardj Exp $ # # --------------------------------------------------------------------------- # TOP = .. @@ -11,18 +11,32 @@ SUBDIRS = lib # interpreter and relevant .a/.so files # # --------------------------------------------------------------------- # -ifeq "$(TARGETPLATFORM)" "i386-unknown-cygwin32" -DYN_EXT=.dll -LIB_DL= +ifneq "$(TARGETPLATFORM)" "i386-unknown-cygwin32" + ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" + ## UNIX + LIB_BFD=-lbfd -liberty + DYN_EXT=.so + LIB_DL=-ldl + M_NO_CYGWIN= + else + ## mingw32 + LIB_BFD= + DYN_EXT=.dll + LIB_DL= + M_NO_CYGWIN=-mno-cygwin + endif else -DYN_EXT=.so -LIB_DL=-ldl + ## cygwin32 + LIB_BFD=-lbfd -liberty + DYN_EXT=.dll + LIB_DL= + M_NO_CYGWIN= endif -ifeq "$(HaveLibReadline)$" "YES" -LIB_READLINE=-lreadline -ltermcap +ifeq "$(HaveLibGmp)$" "YES" +LIB_GMP=-lgmp else -LIB_READLINE= +LIB_GMP=../rts/gmp/libgmp.a endif YACC = bison -y @@ -36,23 +50,30 @@ HS_SRCS = Y_SRCS = parser.y C_SRCS = link.c type.c static.c storage.c derive.c input.c compiler.c subst.c \ translate.c codegen.c lift.c free.c stgSubst.c output.c \ - hugs.c dynamic.c stg.c sainteger.c interface.c + hugs.c dynamic.c stg.c sainteger.c object.c interface.c -SRC_CC_OPTS = -g -O -I$(GHC_INTERPRETER_DIR) -I$(GHC_INCLUDE_DIR) -I$(GHC_RUNTIME_DIR) -D__HUGS__ -DCOMPILING_RTS -Wall -Wstrict-prototypes -Wno-unused -DDEBUG -Winline +SRC_CC_OPTS = -I$(GHC_INTERPRETER_DIR) -I$(GHC_INCLUDE_DIR) -I$(GHC_RUNTIME_DIR) -D__HUGS__ -DCOMPILING_RTS -DNO_REGS -Wall -Wstrict-prototypes -Wno-unused -DDEBUG -Winline $(M_NO_CYGWIN) -g -O GHC_LIBS_NEEDED = $(GHC_RUNTIME_DIR)/libHSrts.a -all :: parser.c $(GHC_LIBS_NEEDED) nHandle.$(DYN_EXT) hugs +all :: parser.c $(GHC_LIBS_NEEDED) nHandle$(DYN_EXT) hugs ### EXTREMELY hacky -hugs: $(C_OBJS) ../rts/Sanity.o ../rts/Assembler.o ../rts/Disassembler.o \ +hugs: $(C_OBJS) ../rts/Sanity.o ../rts/Assembler.o ../rts/Disassembler.o \ ../rts/Evaluator.o ../rts/ForeignCall.o ../rts/GC.o ../rts/Printer.o \ - ../rts/StgCRun.o + ../rts/StgCRun.o ../rts/PrimOps.o ../rts/Prelude.o ../rts/Storage.o \ + ../rts/Schedule.o ../rts/libHSrts.a $(CC) -o $@ $(CC_OPTS) $^ $(GHC_LIBS_NEEDED) \ - -lbfd -liberty $(LIB_READLINE) $(LIB_DL) -lm + $(LIB_BFD) $(LibsReadline) $(LIB_DL) \ + $(LIB_GMP) -lm -nHandle.$(DYN_EXT): nHandle.c -ifeq "$(TARGETPLATFORM)" "i386-unknown-cygwin32" +foobar: + rm -f ../rts/libHSrts.a ../rts/libHSrts_u.a + rm -f ../rts/StgCRun.o ../rts/StgCRun.u_o + make all + +nHandle$(DYN_EXT): nHandle.c +ifeq "$(DYN_EXT)" ".dll" gcc -mno-cygwin -O -Wall -o nHandle.o -c nHandle.c dllwrap -mno-cygwin --target=i386-mingw32 -o nHandle.dll \ -def nHandle.def nHandle.o @@ -68,6 +89,9 @@ cleanish: rtsclean: (cd $(GHC_RUNTIME_DIR) ; make clean) +binaries: + tar cvzf stghugs.tar.gz hugs$(exeext) nHandle$(DYN_EXT) lib/*lhs lib/Prelude.hs + snapshot: /bin/rm -f snapshot.tar tar cvf snapshot.tar Makefile *.[chy] \ @@ -104,7 +128,7 @@ CLEAN_FILES += parser.c INSTALL_LIBEXECS = hugs -depend :: $(LOOPS) $(SRCS_UGNHS) +depend :: parser.c $(LOOPS) $(SRCS_UGNHS) include $(TOP)/mk/target.mk