--- Makefile.in.orig 2016-03-23 10:46:24.000000000 -0500 +++ Makefile.in 2016-03-31 12:21:15.000000000 -0500 @@ -7,11 +7,16 @@ LDFLAGS = @LDFLAGS@ CPPFLAGS = -D_GNU_SOURCE @CPPFLAGS@ GNU_LD = @GNU_LD@ +UNAME_S := $(shell uname -s) VERSION = @VERSION@ TAG = r$(subst .,-,$(VERSION)) SONAME = @SONAME@ +ifeq ($(UNAME_S),Darwin) +SOEXT = dylib +else SOEXT = so +endif PYTHONVERS = @PYTHONVERS@ WHIPTCLLIB = @WHIPTCLLIB@ @@ -26,17 +31,28 @@ NDIALOGOBJS = whiptail.o dialogboxes.o WHIPTCLOBJS = shared/whiptcl.o shared/dialogboxes.o LIBNEWT = libnewt.a +ifeq ($(SOEXT),dylib) +SHARED = -dynamiclib +LIBNEWTSH = libnewt.$(VERSION).$(SOEXT) +LIBNEWTSONAME = libnewt.$(SONAME).$(SOEXT) +else +SHARED = -shared LIBNEWTSH = libnewt.$(SOEXT).$(VERSION) LIBNEWTSONAME = libnewt.$(SOEXT).$(SONAME) +endif LIBOBJS = newt.o button.o form.o checkbox.o entry.o label.o listbox.o \ scrollbar.o textbox.o scale.o grid.o windows.o buttonbar.o \ checkboxtree.o +ifeq ($(SOEXT),dylib) +SHLIBFLAGS= -install_name $(libdir)/$(LIBNEWTSONAME) -current_version $(VERSION) -compatibility_version $(SONAME) +else ifneq ($(GNU_LD),) SHLIBFLAGS= -Wl,--version-script,newt.0.52.ver -Wl,-soname,$(LIBNEWTSONAME) else SHLIBFLAGS= endif +endif SHCFLAGS = -fPIC @@ -105,8 +121,8 @@ whiptail: $(NDIALOGOBJS) $(LIBNEWTSH) $(CC) -g -o whiptail $(NDIALOGOBJS) -L. $(LDFLAGS) -lnewt $(LIBS) -lpopt -whiptcl.$(SOEXT): $(WHIPTCLOBJS) $(LIBNEWTSH) - $(CC) -shared $(SHCFLAGS) $(LDFLAGS) -o whiptcl.$(SOEXT) $(WHIPTCLOBJS) -L. -lnewt $(LIBTCL) -lpopt $(LIBS) +$(WHIPTCLSO): $(WHIPTCLOBJS) $(LIBNEWTSH) + $(CC) $(SHARED) $(SHCFLAGS) $(LDFLAGS) -o $(WHIPTCLSO) $(WHIPTCLOBJS) -L. -lnewt $(LIBTCL) -lpopt $(LIBS) $(LIBNEWT): $(LIBOBJS) ar rv $@ $^ @@ -129,7 +145,7 @@ sharedlib: $(LIBNEWTSH) $(LIBNEWTSH): $(SHAREDDIR) $(SHAREDOBJS) - $(CC) -shared -o $(LIBNEWTSH) $(SHLIBFLAGS) $(SHAREDOBJS) $(LDFLAGS) $(LIBS) + $(CC) $(SHARED) -o $(LIBNEWTSH) $(SHLIBFLAGS) $(SHAREDOBJS) $(LDFLAGS) $(LIBS) ln -fs $(LIBNEWTSONAME) libnewt.$(SOEXT) ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME) @@ -154,7 +170,7 @@ install -m 755 $(LIBNEWTSH) $(instroot)/$(libdir) ln -sf $(LIBNEWTSONAME) $(instroot)/$(libdir)/libnewt.$(SOEXT) ln -sf $(LIBNEWTSH) $(instroot)/$(libdir)/$(LIBNEWTSONAME) - [ -n "$(WHIPTCLSO)" ] && install -m 755 whiptcl.$(SOEXT) $(instroot)/$(libdir) || : + [ -n "$(WHIPTCLSO)" ] && install -m 755 $(WHIPTCLSO) $(instroot)/$(libdir) || : [ -n "$(PYTHONVERS)" ] && for ver in $(PYTHONVERS) ; do \ [ -d $(instroot)/$(libdir)/$$ver/site-packages ] || install -m 755 -d $(instroot)/$(libdir)/$$ver/site-packages ;\ install -m 755 $$ver/_snack.$(SOEXT) $(instroot)/$(libdir)/$$ver/site-packages ;\