# $Id: Makefile,v 1.7 1996/07/16 22:18:32 dhb Exp $
# $Log: Makefile,v $
# Revision 1.7  1996/07/16 22:18:32  dhb
# TARGET_OBJ wasn't using LIBEXT for the target file extension
#
# Revision 1.6  1996/05/23  23:05:20  dhb
# t3d/e port
#
# Revision 1.5  1995/11/02  01:42:44  venkat
# Replaced-/tmp-with-TMPDIR-macro
#
# Revision 1.4  1995/11/01  22:34:12  venkat
# Removed-install-target-dependencies
#
# Revision 1.3  1995/02/13  22:39:21  dhb
# Removed checkout of RCSRELEASE versions.
# Removed dependencies on sys/code_... files.
# Added @.h files to those removed by clean.
#
# Revision 1.2  1994/12/19  22:34:19  dhb
# Added rules for RCS subdirectiry.
#
# Revision 1.1  1994/09/23  16:16:45  dhb
# Initial revision
#

#
# Makefile for toollib.o
#

CPP 		= 	$(CPP)
CFLAGS 		= 	$(COPT) -D$(MACHINE) $(DEC_HACK)
INSTALL_DIR	= 	$(INSTALL)
INSTALL_LIB 	= 	$(INSTALL_DIR)/lib
INSTALL_INCLUDE	= 	$(INSTALL_DIR)/include
INSTALL_STARTUP	= 	$(INSTALL_DIR)/startup
SYS			= ../../sys
SIMINCLUDE 	= 	-I. -I../../sys -I../../shell -I../../sim -I../../ss -I../../segment -I../../hh -I../../buffer -I../../olf  -I../../concen -I../../newconn
LIBRARY_NAME 	= 	toolconn
FUNCTIONS 	= 	toolfuncs
STARTUP		=	toolconnlib.g
STRUCTURES 	= 	toolconn_struct.h
EXT_HEADER	=	toolconn_ext.h
LIBBUILD	=	$(LD)
LIBBUILDFLAGS	=	-r -o
LIBORDER	=	echo no need to order
LIBEXT		=	o
TARGET_OBJ	= 	toolconnlib.$(LIBEXT)

default: $(TARGET_OBJ) 


OBJECTS =	\
		conn_3d.o


HEADERS = 	\
		toolconn_ext.h 

.c.o:
	$(CC) $(CFLAGS) $(SIMINCLUDE) $< -c 

$(OBJECTS) : $(HEADERS)

$(LIBRARY_NAME)_g@.c $(LIBRARY_NAME)_g@.h: $(STARTUP)
	- $(SYS)/code_g $(STARTUP) $(EXT_HEADER) $(LIBRARY_NAME)

# make the data structure section of the symbol table

$(LIBRARY_NAME)_d@.c : $(STRUCTURES)
	- $(CPP) $(SIMINCLUDE) $(STRUCTURES) $(TMPDIR)/$(STRUCTURES)
	- $(SYS)/code_sym $(TMPDIR)/$(STRUCTURES) $(LIBRARY_NAME) \
	  -I $(EXT_HEADER) -NI -o $(LIBRARY_NAME)_d@.c
	- rm $(TMPDIR)/$(STRUCTURES)

# make the function list section of the symbol table

$(LIBRARY_NAME)_f@.c : $(FUNCTIONS)
	- $(SYS)/code_func $(FUNCTIONS) $(LIBRARY_NAME) \
	  > $(LIBRARY_NAME)_f@.c

# make the library header function
$(LIBRARY_NAME)_l@.c : $(LIBRARY_NAME)_g@.c $(LIBRARY_NAME)_d@.c $(OBJECTS)
	 - $(SYS)/code_lib $(LIBRARY_NAME) -o $(LIBRARY_NAME)_l@.c



SYMBOLTAB = $(LIBRARY_NAME)_d@.o $(LIBRARY_NAME)_g@.o $(LIBRARY_NAME)_l@.o

$(TARGET_OBJ): $(SYMBOLTAB) $(OBJECTS)
	$(LIBBUILD) $(LIBBUILDFLAGS) $(TARGET_OBJ) $(OBJECTS) $(SYMBOLTAB)
	$(LIBORDER) $(TARGET_OBJ)

install:
	-(cp $(TARGET_OBJ) $(INSTALL_LIB))
	-($(LIBORDER) $(INSTALL_LIB)/$(TARGET_OBJ))
	-(cp *.h $(INSTALL_INCLUDE))

clean:
	-(rm -rf *.a *.o *@.[ch])

