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

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

 TOP_DIR = $(HOME)
 LIB_DIR = $(TOP_DIR)/lib
 INC_DIR = $(TOP_DIR)/include
   X_DIR = /usr/X11R5
  CFLAGS = -DENABLE_XPMLIB -DENABLE_BILINGUAL=japanese

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

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

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

 HEADERS_DOS \
         = ../include/dos.h

 HEADERS = $(HEADERS_GRAPHICS) $(HEADERS_CONIO) $(HEADERS_DOS)

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

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

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

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

 SOURCES_DOS \
         = dos/delay.c

 OBJECTS_DOS \
         = $(SOURCES_DOS:.c=.o)

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

  TARGET = libXbgi.a
SOTARGET = libXbgi.so
   SOREV = 2.2

GRAPHICS = ../include/graphics

 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
DLDFLAGS = -G -h
  RANLIB = ranlib
      RM = rm -f

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

all: $(TARGET)

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

$(OBJECTS): $(HEADERS)
	$(CD) graphics; $(MAKE) $(DEF_SOURCES)
	$(CD) conio;    $(MAKE) $(DEF_SOURCES)
	$(CD) dos;      $(MAKE) $(DEF_SOURCES)

install:
	$(INSTALL) -d $(LIB_DIR)
	$(CP) $(TARGET) $(LIB_DIR)
	$(INSTALL) -d $(INC_DIR)
	$(INSTALL) -m 644 $(HEADERS) $(INC_DIR)
	$(INSTALL) -d $(INC_DIR)/graphics
	$(INSTALL) -m 644 $(GRAPHICS)/*.* $(INC_DIR)/graphics

so: $(TARGET)
	$(LD) -o $(SOTARGET).$(SOREV)~ $(DLDFLAGS) $(SOTARGET).$(SOREV) $(OBJECTS)
	$(RM) $(SOTARGET).$(SOREV)
	$(MV) $(SOTARGET).$(SOREV)~ $(SOTARGET).$(SOREV)
	$(RM) $(SOTARGET)
	$(LN) $(SOTARGET).$(SOREV) $(SOTARGET)

so.install:
	$(INSTALL) -d $(LIB_DIR)
	$(CP) $(SOTARGET).$(SOREV) $(LIB_DIR)
	$(RM) $(LIB_DIR)/$(SOTARGET)
	$(LN) $(LIB_DIR)/$(SOTARGET).$(SOREV) $(LIB_DIR)/$(SOTARGET)

clean:
	$(CD) graphics; $(MAKE) clean
	$(CD) conio;    $(MAKE) clean
	$(CD) dos;      $(MAKE) clean
	$(RM) $(TARGET) $(SOTARGET) $(SOTARGET).$(SOREV)
	$(RM) core *~
