##########################################################################
# (C) Copyright 1997 UniSoft Limited
#
# All rights reserved.  No part of this source code may be reproduced,
# stored in a retrieval system, or transmitted, in any form or by any
# means, electronic, mechanical, photocopying, recording or otherwise,
# except as in the end-user licence agreement, without the prior
# permission of the copyright owners.
#
# UNIX is a registered trademark and X/Open, the `X Device' and The Open
# Group are trademarks of The Open Group.    
#
#	PROJECT:	VSX5
#	PRODUCT:	DYNL.os/libdl/dlerror
#	AUTHOR:		Tony Fisher, Unisoft Ltd.
#	DATE CREATED:	27 February 1997
#	TARGETS:	T.dlerror - testset
##########################################################################

CC =		cc
MV =		mv
RM =		rm -f
LINT =	lint
LINT1 =		/usr/lib/lint1
PRINTER =	lpr
PRINTFLAGS =	
TET_EXECUTE =	../../../../TESTROOT

TET_ROOT =	../../../../..
VSXDIR =	../../../../SRC
SYSINC =	$(VSXDIR)/SYSINC
SYSLIBS =	

VSXINC =	$(VSXDIR)/INC
VSXLIB =	$(VSXDIR)/LIB
VSXBIN =	$(VSXDIR)/BIN
CHMOG =		$(VSXBIN)/chmog
GENLIB =	$(VSXLIB)/genlib.a
LIBVPORT =	$(VSXLIB)/vport.a
MKSO =		CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
			SYSLIBS="$(SYSLIBS)" $(VSXDIR)/dynl_mkso.sh 

# What is installed:

INSTOWN1 =	vsx0
INSTGRP =	vsxg0
INSTMODE1 =	755
INSTDIR =	$(TET_EXECUTE)/tset/LSB.os/libdl/dlerror

# Local (to this product only) inclues, libraries, etc:

LOCALINC =	
LOCALLIB =	

# product-wide libraries for ld(1):

LIBS =		$(GENLIB) $(VSXLIB)/vlib.a $(LIBVPORT) $(APILIB)
COPTS =		
DEFINES =	
INCS =		-I$(TETINC) -I$(VSXINC) -I$(SYSINC)
CFLOCAL =
CFLAGS =	$(CFLOCAL) $(INCS) $(DEFINES) $(COPTS)
DYNL_CFLAGS =	$(CFLOCAL) $(INCS) $(DEFINES) $(DYNL_COPTS)
LDFLAGS =

CHR_CFILES =	dlerror.c
CHR_IFILES =	
CHR_OFILES =	dlerror.o
CHR_LFILES =

CFILES =	$(CHR_CFILES)

LGEN =		$(VSXLIB)/llib-lgen.ln
LVLIB =		$(VSXLIB)/llib-lvlib.ln
LVPORT =	$(VSXLIB)/llib-lvport.ln
LVSX =		$(VSXLIB)/llib-lvsx.ln

LINTFLAGS =	$(INCS) $(DEFINES) -n
LINTLIBS =	$(LGEN) $(LVLIB) $(LVPORT) $(LVSX)
LINTDRV =	$(VSXDIR)/common/tet_startup/startup.c


AUX_FILES=so_locations


# Targets: ---------------------------------------------------------

all INSTALL:	T.dlerror dyn

dyn:		dynlib.so

T.dlerror:	$(CHR_OFILES) $(TCM) $(VSXLIB)/startup.o $(LIBS)
		$(CC) -o $@ $(CHR_OFILES) $(TCM) $(VSXLIB)/startup.o \
			$(LIBS) $(DYNL_LIBDL) $(SYSLIBS) $(DYNL_LDFLAGS)
		$(CHMOG) $(INSTMODE1) $(INSTOWN1) $(INSTGRP) \
			-m $@ $(INSTDIR)/$@
		@echo "	$@ made"

dlerror.o:	dlerror.c
		$(CC) $(DYNL_CFLAGS) -c dlerror.c

dynlib.so:	dynlib.c
		$(MKSO) -o $(INSTDIR)/$@ $?
		$(MV) $(INSTDIR)/$@ $(INSTDIR)/tmp.so
		$(CHMOG) $(INSTMODE1) $(INSTOWN1) $(INSTGRP) \
			-m $(INSTDIR)/tmp.so $(INSTDIR)/$@


LINT:
		$(LINT) $(LINTFLAGS) $(CHR_CFILES) $(LINTDRV) $(LTCM) $(LINTLIBS)

$(LIBS):
	-@echo "Warning: cannot continue making: $@ needs to be installed"
		@false

FORCE:		CLOBBER all

PRINT:
		@$(PRINTER) $(PRINTFLAGS) Makefile $(CHR_IFILES) $(CHR_CFILES)

CLEAN:
		$(RM) $(CHR_OFILES) $(AUX_FILES)

CLOBBER:	CLEAN
		$(RM) T.dlerror $(INSTDIR)/T.dlerror \
		$(RM) dynlib.so $(INSTDIR)/dynlib.so

depend:
	CFLAGS="$(CFLAGS)" CC="$(CC)" $(VSXBIN)/mkdep $(CFILES)

# DO NOT DELETE THIS LINE -- make depend uses it
# DEPENDENCIES MUST END AT END OF FILE
dlerror.o:	../../../../SRC/INC/dbug.h  \
	../../../../SRC/INC/report.h  \
	../../../../SRC/INC/std.h  \
	../../../../SRC/INC/sysdep.h  \
	../../../../SRC/SYSINC/dlfcn.h  \
	../../../../SRC/SYSINC/stdio.h  \
	../../../../SRC/SYSINC/string.h  \
	../../../../SRC/SYSINC/sys/types.h 
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
