# DLL Makefile 04.08.1993 lmfken
# Build the shared xview library. This makefile assumed you have sourced
# the 'envvars' script to set some environment variables, and that a link
# exists in the same directory as this Makefile pointing to lib/libxview
# in the xview source distribution
# (ie. ln -s /usr/src/xview3.2/lib/libxview xv3)

# Basename of library built by xview sources
ANAME = libxview

# Directory where DLL tools are installed 
DLLBIN = /usr/dll/bin

# Where the DLL libs are to be installed
OPENWINLIB = /usr/openwin/lib

# Location of XFree86 libraries
XLIB = /usr/X386/lib

#JUMP_DIR = /usr/src/dll/xview/jump/

# Name of link to xview source tree (same name as JUMP_LIB minus 'lib')
DLL_LIBDIR = xv3

# Text and data addresses for the library. *Must* be unique and nonoverlapping
# for each library.
ADDRESS = 0x608b0000
DADDRESS = 0x609a0000
JUMPSIZE = 0x4000
GOTSIZE  = 0x2000

# Library version (major, minor)
VERSION = 3.0

IMAGE = lib$(DLL_LIBDIR)
OBJECTS = $(IMAGE).a

# Libraries that the built library depends on.
DEPLIBS = -L$(XLIB) -L$(OPENWINLIB) -lolgx -lXext -lX11 -lgcc -lc -lgcc

all:		$(IMAGE).a image stubs

image:		/lib/$(JUMP_LIB).so.$(VERSION)

/lib/$(JUMP_LIB).so.$(VERSION): $(OBJECTS)
	$(DLLBIN)/mkimage -l $(OPENWINLIB)/$(JUMP_LIB) -v $(VERSION) -a $(ADDRESS) -d $(DADDRESS) -j $(JUMPSIZE) -g $(GOTSIZE) -- $(OBJECTS) $(DEPLIBS)

stubs:		$(IMAGE).sa

$(IMAGE).sa:
	$(DLLBIN)/mkstubs -f -l $(OPENWINLIB)/$(JUMP_LIB) -v $(VERSION) -a $(ADDRESS) -d $(DADDRESS) -j $(JUMPSIZE)  -g $(GOTSIZE) -- $(IMAGE)

$(IMAGE).a:
	(cd $(DLL_LIBDIR) && $(MAKE) all)
	mv $(DLL_LIBDIR)/$(ANAME).a ./$(IMAGE).a
	ranlib $(IMAGE).a

install:
	mv $(IMAGE).sa $(OPENWINLIB)/$(ANAME).sa
	mv $(IMAGE).so.$(VERSION) $(OPENWINLIB)/

clean:
	rm -f $(IMAGE).a $(JUMP_LIB).so.$(VERSION) $(IMAGE).sa
	(cd $(DLL_LIBDIR) && $(MAKE) clean)
