#
# All Sources Make File < Makefile >
#
# Target libgraphics.a: Borland Graphics Interface for Xlib
#
# Copyright (c) 1992-94 Tokyo Denki University, Taiji Yamada
#

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

     REV = 2.3
 TOP_DIR = $(HOME)
 LIB_DIR = $(TOP_DIR)/lib
 INC_DIR = $(TOP_DIR)/include
      CC = gcc
   X_DIR = /usr/X11R5
# CFLAGS = -DENABLE_XPMLIB -DENABLE_BILINGUAL=japanese
  CFLAGS = -DENABLE_XPMLIB -DUSE_XTLIB -DENABLE_MULTILINGUAL

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

 HEADERS_GRAPHICS =\
           ../include/graphix.h \
           ../include/graphics.h

 HEADERS_CONIO =\
           ../include/coniox.h\
           ../include/conio.h 

 HEADERS_MISC =\
           ../include/dos.h    \
           ../include/option.h \
           ../include/options.h\
           ../include/jutil.h

 HEADERS = $(HEADERS_GRAPHICS) $(HEADERS_CONIO) $(HEADERS_MISC)

 SOURCES_GRAPHICS =\
           x11/xbgiutl.c \
           x11/bgiutl.c  \
           x11/graphix.c \
           x11/graphics.c\
           x11/event.c   \
           x11/request.c \
           x11/config.c  \
           x11/driver.c  \
           x11/init.c    \
           x11/id.c      \
           x11/util.c    \
           x11/error.c   \
           x11/page.c    \
           x11/viewport.c\
           x11/lineinfo.c\
           x11/writeops.c\
           x11/move.c    \
           x11/line.c    \
           x11/rect.c    \
           x11/poly.c    \
           x11/arcinfo.c \
           x11/arc.c     \
           x11/fillinfo.c\
           x11/fillrect.c\
           x11/fillpoly.c\
           x11/fillarc.c \
           x11/flood.c   \
           x11/pixel.c   \
           x11/image.c   \
           x11/textinfo.c\
           x11/text.c    \
           x11/color.c   \
           x11/palette.c \
           x11/japanese.c

 OBJECTS_GRAPHICS =\
           $(SOURCES_GRAPHICS:.c=.o)

 SOURCES_CONIO =\
           x11/coniox.c \
           x11/conio.c  \
           x11/getch.c  \
           x11/kbhit.c

 SOURCES =\
           $(SOURCES_GRAPHICS)\
           $(SOURCES_CONIO)   \
           $(SOURCES_MISC)

 OBJECTS_CONIO =\
           $(SOURCES_CONIO:.c=.o)

 SOURCES_MISC =\
           misc/delay.c  \
           misc/option.c \
           misc/options.c\
           misc/jutil.c

 OBJECTS_MISC =\
           $(SOURCES_MISC:.c=.o)

 OBJECTS = $(OBJECTS_GRAPHICS)\
           $(OBJECTS_CONIO)   \
           $(OBJECTS_MISC)

  TARGET = libXbgi.a
SOTARGET = libXbgi.so

 DEF_SOURCES=\
                 CC="$(CC)" \
             CFLAGS="$(CFLAGS)" \
              X_DIR="$(X_DIR)"

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

      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

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

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

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

$(OBJECTS):
	$(CD) x11;  $(MAKE) $(DEF_SOURCES)
	$(CD) misc; $(MAKE) $(DEF_SOURCES)

$(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 $(HEADERS) $(INC_DIR)
#
	$(INSTALL) -d $(LIB_DIR)
	$(CP) $(SOTARGET).$(REV) $(LIB_DIR)
	$(RM) $(LIB_DIR)/$(SOTARGET)
	$(LN) $(LIB_DIR)/$(SOTARGET).$(REV) $(LIB_DIR)/$(SOTARGET)

clean:
	$(CD) x11;      $(MAKE) clean
	$(CD) misc;     $(MAKE) clean
	$(RM) $(TARGET) $(SOTARGET) $(SOTARGET).$(REV)
	$(RM) core *~
