#
# Make File of GRAFFIT < Makefile >
#
# Target libgraffit.a: GRAphics by Floating point and Frame Implement Tools
#
# Copyright (c) 1992-94 Tokyo Denki University, Taiji Yamada
#

# -----------------------------------------------------------------------------

     REV = 2.3
 TOP_DIR = $(HOME)
 BIN_DIR = $(TOP_DIR)/bin
 LIB_DIR = $(TOP_DIR)/lib
 INC_DIR = $(TOP_DIR)/include
      CC = gcc
   X_DIR = /usr/X11R5
  CFLAGS = -DCREATE_FUNCTION_FROM_MACRO
CPPFLAGS = -I../include -I../../include -I$(X_DIR)/include
SLDFLAGS = -G
#SLDFLAGS =

# -----------------------------------------------------------------------------

 SOURCES =\
           coloring.c\
           graphr2_.c\
           gturtle_.c\
           graphl2_.c\
           outtext.c\
           outtext_.c\
           axes.c\
           axes_.c\
           graphr3_.c\
           graphp3_.c\
           graphs3_.c\
           graphrn_.c\
           graphpn_.c\
           graphsn_.c\
           gsave.c\
           intext.c

 OBJECTS = $(SOURCES:.c=.o)

  TARGET = libgraffit.a
SOTARGET = libgraffit.so

# -----------------------------------------------------------------------------

      AR = ar
 ARFLAGS = ruv
      CD = cd
      CP = cp -p
 INSTALL = install
      LD = ld
      LN = ln -s
      MV = mv
SLDFLAGS = -G
  RANLIB = ranlib
      RM = rm -f

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

# -----------------------------------------------------------------------------

#all: $(TARGET)
all: $(TARGET) $(SOTARGET).$(REV)

$(TARGET): $(OBJECTS)
	$(RM) $@
	$(AR) $(ARFLAGS) $@ $(OBJECTS)
	$(RANLIB) $@

$(SOTARGET): $(SOTARGET).$(REV)
	$(RM) $@
	$(LN) $@.$(REV) $@

$(SOTARGET).$(REV): $(OBJECTS)
	$(RM) $@~
#	$(LD) -o $@~ $(SLDFLAGS) -h $@ $(OBJECTS)
	$(LD) -o $@~ $(SLDFLAGS) $(OBJECTS)
	$(RM) $@
	$(MV) $@~ $@

install:
	$(INSTALL) -d $(LIB_DIR)
	$(CP) $(TARGET) $(LIB_DIR)
	$(INSTALL) -d $(INC_DIR)
	$(INSTALL) -m 644 ../include/*.h $(INC_DIR)
	$(INSTALL) -d $(LIB_DIR)
#
	$(CP) $(SOTARGET).$(REV) $(LIB_DIR)
	$(RM) $(LIB_DIR)/$(SOTARGET)
	$(LN) $(LIB_DIR)/$(SOTARGET).$(REV) $(LIB_DIR)/$(SOTARGET)

clean:
	$(RM) $(TARGET) $(SOTARGET) $(SOTARGET).$(REV)
	$(RM) $(OBJECTS)
	$(RM) core *~
