############################################################
# makefile for icon libraries
# $Id: Makefile,v 2.1.1.1 1993/09/23 16:04:30 sax Exp sax $

SHELL = /bin/sh

############################################################

ICNVERSION = 201
ICCVERSION = 201
ICAVERSION = 201
ICUVERSION = 201
RCSVERSION=2.1.1
MUTVER=315

#TOP=/labo
#MACHINE=sparc

include $(TOP)/etc/$(MACHINE).mk

DEST_LIB_DIR=../lib

DEST_INC_DIR=../include

#ALLIANCE_INCLUDE=/labo/include

############################################################

MBK_INCLUDES= -I$(ALLIANCE_INCLUDE)

MBK_DEFINES= -DMUT_H='"mut${MUTVER}.h"'

############################################################

ICN_H= icn${ICNVERSION}.h

IAC_H= iac${ICNVERSION}.h

ICU_H= icu${ICUVERSION}.h

ICON_INCLUDES= -I. -I$(DEST_INC_DIR)

ICON_DEFINES= -DICN_H='"${ICN_H}"' -DIAC_H='"${IAC_H}"' -DICU_H='"${ICU_H}"'

DEST_ICON_LIB= $(DEST_LIB_DIR)/libIcn${ICNVERSION}.a

DEST_COMPASS_LIB= $(DEST_LIB_DIR)/libIcc${ICCVERSION}.a

DEST_ALLIANCE_LIB= $(DEST_LIB_DIR)/libIca${ICAVERSION}.a

DEST_UTIL_LIB= $(DEST_LIB_DIR)/libIcu${ICUVERSION}.a

DEST_INCLUDE= $(DEST_INC_DIR)/$(ICN_H) $(DEST_INC_DIR)/$(IAC_H) $(DEST_INC_DIR)/$(ICU_H)

DEST_LIB=	$(DEST_ICON_LIB)		\
			$(DEST_COMPASS_LIB)		\
			$(DEST_ALLIANCE_LIB)	\
			$(DEST_UTIL_LIB)

############################################################

#CC= gcc

############################################################

C_INCLUDES= -I/usr/include

INCLUDES=	$(ICON_INCLUDES) \
			$(MBK_INCLUDES)  \
			$(C_INCLUDES)

DEFINES=	$(MBK_DEFINES)  \
			$(ICON_DEFINES)

############################################################

CPP_FLAGS=	$(INCLUDES) \
			$(DEFINES)

OPTIM_FLAGS= -O

DEBUG_FLAGS=# -Wall -g

STATIC_FLAGS= #-static

AUX_FLAGS=

EXTRAFLAGS=	$(CPP_FLAGS)	\
			$(STATIC_FLAGS)	\
			$(AUX_FLAGS)

#CFLAGS=		$(OPTIM_FLAGS)	\
			$(DEBUG_FLAGS)

############################################################

#ARFLAGS=	rv

#RANLIB=/usr/bin/ranlib

############################################################

DEBUG_LIB=	#/usr/lib/debug/malloc.o

MATH_LIB=	-lm

LIBS=	$(DEBUG_LIB) \
		$(MATH_LIB)

############################################################

H_SRC=	ConvMacro.h	\
		IconConst.h	\
		icn.h		\
		iac.h		\
		icu.h

C_ICON_SRC=		Icon.c

C_COMPASS_SRC=	icnParse.c	\
				icnDrive.c

C_ALLIANCE_SRC=	aiParse.c	\
				aiDrive.c

C_UTIL_SRC=		Icon_util.c

C_SRC=	$(C_ICON_SRC)		\
		$(C_COMPASS_SRC)	\
		$(C_ALLIANCE_SRC)	\
		$(C_UTIL_SRC)

RCS_SRC=	$(H_SRC)	\
			$(C_SRC)	\
			Makefile
 
C_ICON_OBJ= $(C_ICON_SRC:.c=.o)

C_COMPASS_OBJ= $(C_COMPASS_SRC:.c=.o)

C_ALLIANCE_OBJ= $(C_ALLIANCE_SRC:.c=.o)

C_UTIL_OBJ= $(C_UTIL_SRC:.c=.o)

C_OBJ=	$(C_ICON_OBJ)		\
		$(C_COMPASS_OBJ)	\
		$(C_ALLIANCE_OBJ)	\
		$(C_UTIL_OBJ)

############################################################

.SUFFIXES:	.c .o .i

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

.c.i:		
	$(CC) $(CPP_FLAGS) -E $< > $@

############################################################

notarget:	include depends
	$(MAKE) all MACHINE=$(MACHINE) TOP=$(TOP)

distrib:	include depends
	$(MAKE) all MACHINE=$(MACHINE) TOP=$(TOP)
	@$(TOUCH) distrib
	@if [ -f ../lib/INSTALLED ] ; then $(RM) ../lib/INSTALLED ; else exit 0 ; fi
	@if [ -f ../include/INSTALLED ] ; then $(RM) ../include/INSTALLED ; else exit 0 ; fi

all:	include $(DEST_LIB)
		@echo "all Complete !"

include: $(DEST_INCLUDE)
		@$(TOUCH) include
		@echo "include Complete !"

$(DEST_INC_DIR)/$(ICN_H): icn.h
	cp icn.h $(DEST_INC_DIR)/$(ICN_H)

$(DEST_INC_DIR)/$(IAC_H): iac.h
	cp iac.h $(DEST_INC_DIR)/$(IAC_H)

$(DEST_INC_DIR)/$(ICU_H): icu.h
	cp icu.h $(DEST_INC_DIR)/$(ICU_H)

$(DEST_ICON_LIB) icon: $(C_ICON_OBJ)
	$(AR) $(ARFLAGS) $(DEST_ICON_LIB) $(C_ICON_OBJ)
	$(RANLIB) $(DEST_ICON_LIB)

$(DEST_COMPASS_LIB) compass: $(C_COMPASS_OBJ)
	$(AR) $(ARFLAGS) $(DEST_COMPASS_LIB) $(C_COMPASS_OBJ)
	$(RANLIB) $(DEST_COMPASS_LIB)

$(DEST_ALLIANCE_LIB) alliance: $(C_ALLIANCE_OBJ)
	$(AR) $(ARFLAGS) $(DEST_ALLIANCE_LIB) $(C_ALLIANCE_OBJ)
	$(RANLIB) $(DEST_ALLIANCE_LIB)

$(DEST_UTIL_LIB) util: $(C_UTIL_OBJ)
	$(AR) $(ARFLAGS) $(DEST_UTIL_LIB) $(C_UTIL_OBJ)
	$(RANLIB) $(DEST_UTIL_LIB)

############################################################

depends Makefile.depends:
	@$(TOUCH) depends
	$(CC) $(CPP_FLAGS) -MM $(C_SRC) > Makefile.depends

include Makefile.depends

############################################################

tags:
	etags -t $(C_SRC)

checkin:
	ci -l$(RCSVERSION) -f -m"New version" $(RCS_SRC)

clean:
	-@$(RM) -f $(C_OBJ) distrib include depends TAGS $(DEST_LIB_DIR)/* $(DEST_INC_DIR)/* > /dev/null 2>&1

partial_clean:
	-@$(RM) -f $(C_OBJ) distrib include depends > /dev/null 2>&1

############################################################
