#=======================================================================
#  Makefile to build the DRAW-GL Library.
#=======================================================================


# Standard defines:
PAS	=	/usr/local/bin/pcmp
CC	=	gcc
AR	=	ar

OBJ	=	../obj
BIN	=	../bin
LIB	=	../lib
SRC	=	.

IDRW	=	../include/draw
INCDIR	=	-I../include -I/usr/local/include -I../include


A_FLAGS	=	-r

# The option -D_SDRW__DEBUG=0 is used for a Draw_Server in Debugging mode.

#C_FLAGS	=	-g -D_SDRW__DEBUG=0
C_FLAGS	=	-O2
#C_FLAGS     =     -g

P_FLAGS	=


SRCC	=\
	$(SRC)/client_exchange_man.c\
	$(SRC)/drawlib_base.c\
	$(SRC)/drawlib_attr.c\
	$(SRC)/drawlib_input.c\
	$(SRC)/drawlib_segment.c\
	$(SRC)/drawlib_view.c\
	$(SRC)/drawlib_pannel.c\
	$(SRC)/drawlib_axis_base.c

SRCP	=\
	$(SRC)/drawlib_pas_control.pas\
	$(SRC)/drawlib_pas_input.pas\
	$(SRC)/drawlib_pas_axis_base.pas\
	$(SRC)/drawlib_pas_pannel.pas


OBJS	=\
	$(OBJ)/client_exchange_man.o\
	$(OBJ)/drawlib_base.o\
	$(OBJ)/drawlib_view.o\
	$(OBJ)/drawlib_pannel.o\
	$(OBJ)/drawlib_attr.o\
	$(OBJ)/drawlib_segment.o\
	$(OBJ)/drawlib_input.o\
	$(OBJ)/drawlib_axis_base.o\
	$(OBJ)/drawlib_pas_control.o\
	$(OBJ)/drawlib_pas_input.o\
	$(OBJ)/drawlib_pas_axis_base.o\
	$(OBJ)/drawlib_pas_pannel.o


ALLOBJS	=	$(OBJS)
ALLBIN	=	$(LIB)/libdraw.a
ALLTGT	=	$(LIB)/libdraw.a

# User defines:

#@# Targets follow ---------------------------------

all:	$(ALLTGT)

objs:	$(ALLOBJS)

cleanobjs:
	rm -f $(ALLOBJS)
	rm -f drawlib_p_control.c drawlib_p_input.c

cleanbin:
	rm -f $(ALLBIN)

clean:	cleanobjs cleanbin

cleanall:	cleanobjs cleanbin

INCBASE	=	$(IDRW)/draw_type.h $(IDRW)/draw_common.h \
		$(IDRW)/drawlib_constantes.h $(IDRW)/draw_apientry.h $(IDRW)/draw_env.h


#@# User Targets follow ---------------------------------


#@# Dependency rules follow -----------------------------

$(LIB)/libdraw.a: $(OBJS) 
	$(AR) $(A_FLAGS) $(LIB)/libdraw.a $(OBJS)

$(OBJ)/client_exchange_man.o: $(SRC)/client_exchange_man.c $(IDRW)/draw_common.h
	$(CC) $(C_FLAGS) $(INCDIR) -c -o $@ $<

$(OBJ)/drawlib_base.o: $(SRC)/drawlib_base.c $(INCBASE)
	$(CC) $(C_FLAGS) $(INCDIR) -c -o $@ $<

$(OBJ)/drawlib_attr.o: drawlib_attr.c $(INCBASE)
	$(CC) $(C_FLAGS) $(INCDIR) -c -o $@ $<

$(OBJ)/drawlib_segment.o: $(SRC)/drawlib_segment.c $(INCBASE)
	$(CC) $(C_FLAGS) $(INCDIR) -c -o $@ $<

$(OBJ)/drawlib_view.o: $(SRC)/drawlib_view.c $(INCBASE)
	$(CC) $(C_FLAGS) $(INCDIR) -c -o $@ $<

$(OBJ)/drawlib_pannel.o: $(SRC)/drawlib_pannel.c $(INCBASE)
	$(CC) $(C_FLAGS) $(INCDIR) -c -o $@ $<

$(OBJ)/drawlib_input.o: $(SRC)/drawlib_input.c $(INCBASE)
	$(CC) $(C_FLAGS) $(INCDIR) -c -o $@ $<

$(OBJ)/drawlib_axis_base.o: $(SRC)/drawlib_axis_base.c $(INCBASE)
	$(CC) $(C_FLAGS) $(INCDIR) -c -o $@ $<

$(OBJ)/drawlib_pas_control.o: $(SRC)/drawlib_pas_control.pas
	$(PAS) $(P_FLAGS) $(SRC)/drawlib_pas_control.pas
	$(CC) $(C_FLAGS) $(INCDIR) -c $(SRC)/drawlib_pas_control.c -o $@

$(OBJ)/drawlib_pas_input.o: drawlib_pas_input.pas
	$(PAS) $(P_FLAGS) drawlib_pas_input.pas
	$(CC) $(C_FLAGS) $(INCDIR) -c drawlib_pas_input.c -o $@

$(OBJ)/drawlib_pas_axis_base.o: $(SRC)/drawlib_pas_axis_base.pas
	$(PAS) $(P_FLAGS) $(SRC)/drawlib_pas_axis_base.pas
	$(CC) $(C_FLAGS) $(INCDIR) -c $(SRC)/drawlib_pas_axis_base.c -o $@

$(OBJ)/drawlib_pas_pannel.o: $(SRC)/drawlib_pas_pannel.pas
	$(PAS) $(P_FLAGS) $(SRC)/drawlib_pas_pannel.pas
	$(CC) $(C_FLAGS) $(INCDIR) -c $(SRC)/drawlib_pas_pannel.c -o $@
