# $Header: Makefile,v 1.17 93/02/18 07:01:06 salty Exp $
#
# Makefile for sds C libraries.

RM = rm -f

SRCDIR = ..
HEADERDIR = $(SRCDIR)/include/Sds
ISTKINC = -I$(SRCDIR)/include $(SYSINC)	
SDSLIB = $(ISTKLIBS)/libsds.a

SOBJS = shm.o
FOBJS = sds_fort.o sds_ftypes.o sds_fdb.o
OBJS = sdc.o sds.o sds_assem.o uti.o sds_res.o sds_lin.o vax2ieee.o \
       sds_load.o sds_map.o sds_dup.o sds_offil.o sds_record.o version.o

SINC = $(HEADERDIR)/direc.h $(HEADERDIR)/dtypes.h $(HEADERDIR)/ltypes.h \
	$(HEADERDIR)/sds_externs.h $(HEADERDIR)/sdsgen.h  $(HEADERDIR)/sds.h \
	$(HEADERDIR)/sds_res.h $(HEADERDIR)/dnames.h \
	$(HEADERDIR)/sds_mdep.h $(HEADERDIR)/syb_types.h \
	$(HEADERDIR)/sds_record.h

TAR_FILE = sds-csource.tar

build:
	@if [ -d $(ARCH) ]; then \
		cd $(ARCH); $(MAKE) $(MFLAGS) -f ../Makefile libs; \
		else $(MAKE) $(MFLAGS) -f ../Makefile libs; fi;

libs: libsds.a libfsds.a

libsds.a: $(SOBJS) $(OBJS)
	$(RM) libsds.a
	$(AR) cru libsds.a $(SOBJS) $(OBJS)
	$(RANLIB) libsds.a

libfsds.a: $(FOBJS)
	$(RM) libfsds.a
	$(AR) cru libfsds.a $(FOBJS)
	$(RANLIB) libfsds.a

$(ISTKLIBS)/libsds.a: libsds.a
	$(RM) $(ISTKLIBS)/libsds.a
	$(CP) libsds.a $(ISTKLIBS)
	$(RANLIB) $(ISTKLIBS)/libsds.a

$(ISTKLIBS)/libfsds.a: libfsds.a
	$(RM) $(ISTKLIBS)/libfsds.a
	$(CP) libfsds.a $(ISTKLIBS)
	$(RANLIB) $(ISTKLIBS)/libfsds.a

install: $(ISTKLIBS)/libsds.a $(ISTKLIBS)/libfsds.a
	$(RM) $(ISTKPLACE)/include/Sds/*.h
	$(CP) $(SINC) $(ISTKPLACE)/include/Sds

install-all:
	@if [ ! -d $(ARCH) ]; then mkdir $(ARCH); else exit 0; fi;
	@echo Installing sds ...
	@cd $(ARCH); $(MAKE) $(MFLAGS) -f ../Makefile install

tar:
	@rm -f $(TAR_FILE).Z tar-files
	@$(MAKE) $(MFLAGS) tar-list >tar-files
	tar cf $(TAR_FILE) -I tar-files
	compress $(TAR_FILE)
	@rm -f tar-files

tar-list:
	@ls Makefile *.c include/Sds/*.h

rcsinfo:
	@echo sds
	@rlog -L -S RCS/*,v
	@echo sds/include/Sds
	@cd include/Sds; rlog -L -S RCS/*,v

clean:
	@if [ -d $(ARCH) ]; then cd $(ARCH); fi; \
		$(RM) errs *.o *~* $(APPS) core a.out *.a ../$(TAR_FILE).Z

clean-all:
	@$(MAKE) $(MFLAGS) clean

sds_fort.o: $(SRCDIR)/sds_fort.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_fort.c

sds_ftypes.o: $(SRCDIR)/sds_ftypes.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_ftypes.c

sds_fdb.o: $(SRCDIR)/sds_fdb.c
	$(CC)  $(ISTKINC) $(CFLAGS) -c $(SRCDIR)/sds_fdb.c

sds_db.o: $(DBSRCDIR)/sds_db.c
	$(CC) $(ISTKINC) $(CFLAGS) -c $(DBSRCDIR)/sds_db.c

shm.o: $(SRCDIR)/shm.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/shm.c

sdc.o: $(SRCDIR)/sdc.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sdc.c

sds.o: $(SRCDIR)/sds.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds.c

sds_assem.o: $(SRCDIR)/sds_assem.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_assem.c

sds_dup.o: $(SRCDIR)/sds_dup.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_dup.c

sds_load.o: $(SRCDIR)/sds_load.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_load.c

sds_map.o: $(SRCDIR)/sds_map.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_map.c

sds_obmap.o: $(SRCDIR)/sds_obmap.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_obmap.c

sds_offil.o: $(SRCDIR)/sds_offil.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_offil.c

sds_record.o: $(SRCDIR)/sds_record.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_record.c

uti.o: $(SRCDIR)/uti.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/uti.c

sds_res.o: $(SRCDIR)/sds_res.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_res.c

sds_lin.o: $(SRCDIR)/sds_lin.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/sds_lin.c

version.o: $(SRCDIR)/version.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/version.c

vax2ieee.o: $(SRCDIR)/vax2ieee.c
	$(CC) $(CFLAGS) $(ISTKINC) -c $(SRCDIR)/vax2ieee.c

sds_db_assem.o: $(SRCDIR)/sds_assem.c
	$(CC) -c $(CFLAGS) -DSDSDB sds_assem.c -o sds_db_assem.o
