diff --git a/Makefile b/Makefile index 5a3ea855..a30bcd84 100644 --- a/Makefile +++ b/Makefile @@ -118,7 +118,16 @@ ${GREG}: tools/greg.c tools/compile.c tools/tree.c @${ECHO} CC $@ @${CC} -O3 -DNDEBUG -o $@ tools/greg.c tools/compile.c tools/tree.c -Itools -potion${EXE}: ${OBJ_POTION} libpotion${DLL} +ifdef APPLE +LIBHACK = ../lib/libpotion.dylib +else +LIBHACK = +endif +../lib/libpotion.dylib: + mkdir ../lib + ln -s `pwd`/libpotion.dylib ../lib/ + +potion${EXE}: ${OBJ_POTION} libpotion${DLL} ${LIBHACK} @${ECHO} LINK $@ @${CC} ${CFLAGS} ${OBJ_POTION} -o $@ ${LDEXEFLAGS} -lpotion ${LIBS} @if [ "${DEBUG}" != "1" ]; then \ diff --git a/config.mak b/config.mak index 1167ca51..a34fed24 100644 --- a/config.mak +++ b/config.mak @@ -68,7 +68,8 @@ ifeq ($(shell ./tools/config.sh ${CC} apple),1) LOADEXT = .bundle RUNPOTION = ./potion # in builddir: mkdir ../lib; ln -s `pwd`/libpotion.dylib ../lib/ - LDDLLFLAGS = -shared -fpic -install_name "@executable_path/../lib/libpotion${DLL}" + LDDLLFLAGS = -dynamiclib -undefined dynamic_lookup -fpic \ + -install_name "@executable_path/../lib/libpotion${DLL}" LDEXEFLAGS = -L. else RUNPOTION = ./potion