From: Wolfgang T. <wth...@us...> - 2007-02-13 17:17:21
|
Update of /cvsroot/hoc/hoc/HOC In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv10721/HOC Modified Files: Makefile.in Log Message: Support dynamic linking in the makefiles. Use: make HocBuildDylibs=YES and sudo make install HocBuildDylibs=YES requires a GHC installation with dynamic libraries. Index: Makefile.in =================================================================== RCS file: /cvsroot/hoc/hoc/HOC/Makefile.in,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- Makefile.in 1 Nov 2006 15:45:04 -0000 1.17 +++ Makefile.in 13 Feb 2007 17:17:13 -0000 1.18 @@ -11,7 +11,15 @@ Makefile.in \ $(NULL) -all: libHOC.a HOC.o ../inplace.conf +ifeq "$(HocBuildDylibs)" "YES" +LIBRARIES=libHOC.a libHOC_dyn.dylib +else +LIBRARIES=libHOC.a HOC.o +endif + +HOCLIBDIR="$(destdir)"/$(GHC_LIB_PATH)/HOC + +all: $(LIBRARIES) ../inplace.conf ../inplace.conf: HOC.conf-inplace [ -f "$@" ] || echo '[]' > $@ @@ -31,11 +39,12 @@ libHOC.a: ghcmake.build-stamp find build/objects/ -name \*.o | xargs $(MAKE_STATIC_LIB) libHOC.a -libHOC_dyn.dylib: ghcmake +libHOC_dyn.dylib: ghcmake.build-stamp export MACOSX_DEPLOYMENT_TARGET=10.3 && find build/objects/ -name \*.o \ | xargs libtool \ -dynamic \ -undefined dynamic_lookup \ + -single_module \ -o $@ install_name_tool -id "`pwd`/$@" $@ @@ -44,6 +53,11 @@ ghcmake: ghcmake.build-stamp +ifeq "$(HocBuildDylibs)" "YES" +CBITS=-L../HOC_cbits -lHOC_cbits_dyn +else +CBITS=../HOC_cbits/HOC_cbits.o +endif ghcmake.build-stamp: mkdir -p build/objects @@ -52,13 +66,15 @@ -O -fasm \ -odir build/objects -hidir build/imports \ -fglasgow-exts -fth \ - ../HOC_cbits/HOC_cbits.o \ + -lobjc \ + $(CBITS) \ -I../HOC_cbits \ -I../libffi-src/build/include \ -package-name HOC \ $(FOUNDATION_INCLUDES) \ $(FOUNDATION_LIBS) \ - $(DEFINES) + $(DEFINES) \ + $(EXTRA_GHCFLAGS) touch $@ clean: @@ -67,10 +83,13 @@ ghcmake.build-stamp install: install-files - ranlib "$(destdir)"/$(GHC_LIB_PATH)/HOC/libHOC.a + ranlib $(HOCLIBDIR)/libHOC.a +ifeq "$(HocBuildDylibs)" "YES" + install_name_tool -id $(HOCLIBDIR)/libHOC_dyn.dylib $(HOCLIBDIR)/libHOC_dyn.dylib +endif $(GHC_PKG) update HOC.conf install-files: all HOC.conf - mkdir -p "$(destdir)"/$(GHC_LIB_PATH)/HOC - cp -R libHOC.a HOC.o build/imports \ - "$(destdir)"/$(GHC_LIB_PATH)/HOC/ + mkdir -p $(HOCLIBDIR) + cp -R $(LIBRARIES) build/imports \ + $(HOCLIBDIR) |