# makefile for HP/UX 10.20
#
# Targets:
#
#  default   Makes rel_lib, dev_lib, and dbg_lib
#
#  rel_lib   Makes archive libraries for shipping with a finished product
#
#  dev_lib   Makes archive libraries for development
#
#  dbg_lib   Makes archive libraries for debugging

###### Directories

SRC_DIR =./src
DBG_DIR =./dbg
DEV_DIR =./dev
REL_DIR =./rel

###### Tools

CXX = CC
AR = ar
RANLIB = ranlib

###### Compiler/linker flags

DBG_CXX_FLAGS = -DDW_DEBUG_VERSION -g +eh +z -I./src
DBG_LINK_FLAGS = 

DEV_CXX_FLAGS = -DDW_DEVELOPMENT_VERSION -g +eh +z -I./src
DEV_LINK_FLAGS = 

REL_CXX_FLAGS = -DDW_PRODUCTION_VERSION +eh +z -I./src
REL_LINK_FLAGS = 

###### Default target

default: dbg_lib dev_lib rel_lib


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

DBG_CORE_OBJS = \
 $(DBG_DIR)/address.o \
 $(DBG_DIR)/addrlist.o \
 $(DBG_DIR)/body.o \
 $(DBG_DIR)/bodypart.o \
 $(DBG_DIR)/bounds.o \
 $(DBG_DIR)/boyermor.o \
 $(DBG_DIR)/datetime.o \
 $(DBG_DIR)/disptype.o \
 $(DBG_DIR)/dw_cte.o \
 $(DBG_DIR)/dw_date.o \
 $(DBG_DIR)/dw_mime.o \
 $(DBG_DIR)/encoded.o \
 $(DBG_DIR)/entity.o \
 $(DBG_DIR)/except.o \
 $(DBG_DIR)/field.o \
 $(DBG_DIR)/fieldbdy.o \
 $(DBG_DIR)/group.o \
 $(DBG_DIR)/headers.o \
 $(DBG_DIR)/mailbox.o \
 $(DBG_DIR)/mboxlist.o \
 $(DBG_DIR)/mechansm.o \
 $(DBG_DIR)/mediatyp.o \
 $(DBG_DIR)/message.o \
 $(DBG_DIR)/msgcmp.o \
 $(DBG_DIR)/msgid.o \
 $(DBG_DIR)/param.o \
 $(DBG_DIR)/stamp.o \
 $(DBG_DIR)/string.o \
 $(DBG_DIR)/system.o \
 $(DBG_DIR)/text.o \
 $(DBG_DIR)/token.o

DBG_UTIL_OBJS = \
 $(DBG_DIR)/applfile.o \
 $(DBG_DIR)/binhex.o \
 $(DBG_DIR)/uuencode.o

DBG_NET_OBJS = \
 $(DBG_DIR)/protocol.o \
 $(DBG_DIR)/nntp.o \
 $(DBG_DIR)/pop.o \
 $(DBG_DIR)/smtp.o

dbg_lib : $(DBG_DIR)/libmimepp_core.a
dbg_lib : $(DBG_DIR)/libmimepp_util.a
dbg_lib : $(DBG_DIR)/libmimepp_net.a

$(DBG_DIR) :
	-mkdir $(DBG_DIR)

$(DBG_DIR)/libmimepp_core.a : $(DBG_DIR) $(DBG_CORE_OBJS)
	$(AR) rc $(DBG_DIR)/libmimepp_core.a $(DBG_CORE_OBJS)
	-$(RANLIB) $(DBG_DIR)/libmimepp_core.a

$(DBG_DIR)/libmimepp_util.a : $(DBG_DIR) $(DBG_UTIL_OBJS)
	$(AR) rc $(DBG_DIR)/libmimepp_util.a $(DBG_UTIL_OBJS)
	-$(RANLIB) $(DBG_DIR)/libmimepp_util.a

$(DBG_DIR)/libmimepp_net.a : $(DBG_DIR) $(DBG_NET_OBJS)
	$(AR) rc $(DBG_DIR)/libmimepp_net.a $(DBG_NET_OBJS)
	-$(RANLIB) $(DBG_DIR)/libmimepp_net.a

$(DBG_DIR)/address.o:  $(SRC_DIR)/address.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/address.cpp -o $(DBG_DIR)/address.o

$(DBG_DIR)/addrlist.o: $(SRC_DIR)/addrlist.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/addrlist.cpp -o $(DBG_DIR)/addrlist.o

$(DBG_DIR)/body.o:     $(SRC_DIR)/body.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/body.cpp -o $(DBG_DIR)/body.o

$(DBG_DIR)/bodypart.o: $(SRC_DIR)/bodypart.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/bodypart.cpp -o $(DBG_DIR)/bodypart.o

$(DBG_DIR)/bounds.o: $(SRC_DIR)/bounds.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/bounds.cpp -o $(DBG_DIR)/bounds.o

$(DBG_DIR)/boyermor.o: $(SRC_DIR)/boyermor.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/boyermor.cpp -o $(DBG_DIR)/boyermor.o

$(DBG_DIR)/datetime.o: $(SRC_DIR)/datetime.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/datetime.cpp -o $(DBG_DIR)/datetime.o

$(DBG_DIR)/disptype.o: $(SRC_DIR)/disptype.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/disptype.cpp -o $(DBG_DIR)/disptype.o

$(DBG_DIR)/dw_cte.o:   $(SRC_DIR)/dw_cte.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/dw_cte.cpp -o $(DBG_DIR)/dw_cte.o

$(DBG_DIR)/dw_date.o:  $(SRC_DIR)/dw_date.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/dw_date.cpp -o $(DBG_DIR)/dw_date.o

$(DBG_DIR)/dw_mime.o:  $(SRC_DIR)/dw_mime.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/dw_mime.cpp -o $(DBG_DIR)/dw_mime.o

$(DBG_DIR)/encoded.o:   $(SRC_DIR)/encoded.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/encoded.cpp -o $(DBG_DIR)/encoded.o

$(DBG_DIR)/entity.o:   $(SRC_DIR)/entity.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/entity.cpp -o $(DBG_DIR)/entity.o

$(DBG_DIR)/except.o:   $(SRC_DIR)/except.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/except.cpp -o $(DBG_DIR)/except.o

$(DBG_DIR)/field.o:    $(SRC_DIR)/field.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/field.cpp -o $(DBG_DIR)/field.o

$(DBG_DIR)/fieldbdy.o: $(SRC_DIR)/fieldbdy.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/fieldbdy.cpp -o $(DBG_DIR)/fieldbdy.o

$(DBG_DIR)/group.o:    $(SRC_DIR)/group.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/group.cpp -o $(DBG_DIR)/group.o

$(DBG_DIR)/headers.o:  $(SRC_DIR)/headers.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/headers.cpp -o $(DBG_DIR)/headers.o

$(DBG_DIR)/mailbox.o:  $(SRC_DIR)/mailbox.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/mailbox.cpp -o $(DBG_DIR)/mailbox.o

$(DBG_DIR)/mboxlist.o: $(SRC_DIR)/mboxlist.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/mboxlist.cpp -o $(DBG_DIR)/mboxlist.o

$(DBG_DIR)/mechansm.o: $(SRC_DIR)/mechansm.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/mechansm.cpp -o $(DBG_DIR)/mechansm.o

$(DBG_DIR)/mediatyp.o: $(SRC_DIR)/mediatyp.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/mediatyp.cpp -o $(DBG_DIR)/mediatyp.o

$(DBG_DIR)/message.o:  $(SRC_DIR)/message.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/message.cpp -o $(DBG_DIR)/message.o

$(DBG_DIR)/msgcmp.o:   $(SRC_DIR)/msgcmp.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/msgcmp.cpp -o $(DBG_DIR)/msgcmp.o

$(DBG_DIR)/msgid.o:    $(SRC_DIR)/msgid.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/msgid.cpp -o $(DBG_DIR)/msgid.o

$(DBG_DIR)/param.o:    $(SRC_DIR)/param.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/param.cpp -o $(DBG_DIR)/param.o

$(DBG_DIR)/stamp.o:    $(SRC_DIR)/stamp.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/stamp.cpp -o $(DBG_DIR)/stamp.o

$(DBG_DIR)/string.o:   $(SRC_DIR)/string.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/string.cpp -o $(DBG_DIR)/string.o

$(DBG_DIR)/system.o:   $(SRC_DIR)/system.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/system.cpp -o $(DBG_DIR)/system.o

$(DBG_DIR)/text.o:     $(SRC_DIR)/text.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/text.cpp -o $(DBG_DIR)/text.o

$(DBG_DIR)/token.o:    $(SRC_DIR)/token.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/token.cpp -o $(DBG_DIR)/token.o

$(DBG_DIR)/applfile.o:   $(SRC_DIR)/applfile.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/applfile.cpp -o $(DBG_DIR)/applfile.o

$(DBG_DIR)/binhex.o:   $(SRC_DIR)/binhex.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/binhex.cpp -o $(DBG_DIR)/binhex.o

$(DBG_DIR)/uuencode.o: $(SRC_DIR)/uuencode.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/uuencode.cpp -o $(DBG_DIR)/uuencode.o

$(DBG_DIR)/nntp.o : $(SRC_DIR)/nntp.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/nntp.cpp -o $(DBG_DIR)/nntp.o

$(DBG_DIR)/pop.o : $(SRC_DIR)/pop.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/pop.cpp -o $(DBG_DIR)/pop.o

$(DBG_DIR)/protocol.o : $(SRC_DIR)/protocol.cpp $(SRC_DIR)/mimepp/protocol.h
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/protocol.cpp -o $(DBG_DIR)/protocol.o

$(DBG_DIR)/smtp.o : $(SRC_DIR)/smtp.cpp
	$(CXX) -c $(DBG_CXX_FLAGS) $(SRC_DIR)/smtp.cpp -o $(DBG_DIR)/smtp.o

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

DEV_CORE_OBJS = \
 $(DEV_DIR)/address.o \
 $(DEV_DIR)/addrlist.o \
 $(DEV_DIR)/body.o \
 $(DEV_DIR)/bodypart.o \
 $(DEV_DIR)/bounds.o \
 $(DEV_DIR)/boyermor.o \
 $(DEV_DIR)/datetime.o \
 $(DEV_DIR)/disptype.o \
 $(DEV_DIR)/dw_cte.o \
 $(DEV_DIR)/dw_date.o \
 $(DEV_DIR)/dw_mime.o \
 $(DEV_DIR)/encoded.o \
 $(DEV_DIR)/entity.o \
 $(DEV_DIR)/except.o \
 $(DEV_DIR)/field.o \
 $(DEV_DIR)/fieldbdy.o \
 $(DEV_DIR)/group.o \
 $(DEV_DIR)/headers.o \
 $(DEV_DIR)/mailbox.o \
 $(DEV_DIR)/mboxlist.o \
 $(DEV_DIR)/mechansm.o \
 $(DEV_DIR)/mediatyp.o \
 $(DEV_DIR)/message.o \
 $(DEV_DIR)/msgcmp.o \
 $(DEV_DIR)/msgid.o \
 $(DEV_DIR)/param.o \
 $(DEV_DIR)/stamp.o \
 $(DEV_DIR)/string.o \
 $(DEV_DIR)/system.o \
 $(DEV_DIR)/text.o \
 $(DEV_DIR)/token.o

DEV_UTIL_OBJS = \
 $(DEV_DIR)/applfile.o \
 $(DEV_DIR)/binhex.o \
 $(DEV_DIR)/uuencode.o

DEV_NET_OBJS = \
 $(DEV_DIR)/protocol.o \
 $(DEV_DIR)/nntp.o \
 $(DEV_DIR)/pop.o \
 $(DEV_DIR)/smtp.o

dev_lib : $(DEV_DIR)/libmimepp_core.a
dev_lib : $(DEV_DIR)/libmimepp_util.a
dev_lib : $(DEV_DIR)/libmimepp_net.a

$(DEV_DIR) :
	-mkdir $(DEV_DIR)

$(DEV_DIR)/libmimepp_core.a : $(DEV_DIR) $(DEV_CORE_OBJS)
	$(AR) rc $(DEV_DIR)/libmimepp_core.a $(DEV_CORE_OBJS)
	-$(RANLIB) $(DEV_DIR)/libmimepp_core.a

$(DEV_DIR)/libmimepp_util.a : $(DEV_DIR) $(DEV_UTIL_OBJS)
	$(AR) rc $(DEV_DIR)/libmimepp_util.a $(DEV_UTIL_OBJS)
	-$(RANLIB) $(DEV_DIR)/libmimepp_util.a

$(DEV_DIR)/libmimepp_net.a : $(DEV_DIR) $(DEV_NET_OBJS)
	$(AR) rc $(DEV_DIR)/libmimepp_net.a $(DEV_NET_OBJS)
	-$(RANLIB) $(DEV_DIR)/libmimepp_net.a

$(DEV_DIR)/address.o:  $(SRC_DIR)/address.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/address.cpp -o $(DEV_DIR)/address.o

$(DEV_DIR)/addrlist.o: $(SRC_DIR)/addrlist.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/addrlist.cpp -o $(DEV_DIR)/addrlist.o

$(DEV_DIR)/body.o:     $(SRC_DIR)/body.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/body.cpp -o $(DEV_DIR)/body.o

$(DEV_DIR)/bodypart.o: $(SRC_DIR)/bodypart.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/bodypart.cpp -o $(DEV_DIR)/bodypart.o

$(DEV_DIR)/bounds.o: $(SRC_DIR)/bounds.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/bounds.cpp -o $(DEV_DIR)/bounds.o

$(DEV_DIR)/boyermor.o: $(SRC_DIR)/boyermor.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/boyermor.cpp -o $(DEV_DIR)/boyermor.o

$(DEV_DIR)/datetime.o: $(SRC_DIR)/datetime.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/datetime.cpp -o $(DEV_DIR)/datetime.o

$(DEV_DIR)/disptype.o: $(SRC_DIR)/disptype.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/disptype.cpp -o $(DEV_DIR)/disptype.o

$(DEV_DIR)/dw_cte.o:   $(SRC_DIR)/dw_cte.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/dw_cte.cpp -o $(DEV_DIR)/dw_cte.o

$(DEV_DIR)/dw_date.o:  $(SRC_DIR)/dw_date.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/dw_date.cpp -o $(DEV_DIR)/dw_date.o

$(DEV_DIR)/dw_mime.o:  $(SRC_DIR)/dw_mime.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/dw_mime.cpp -o $(DEV_DIR)/dw_mime.o

$(DEV_DIR)/encoded.o:   $(SRC_DIR)/encoded.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/encoded.cpp -o $(DEV_DIR)/encoded.o

$(DEV_DIR)/entity.o:   $(SRC_DIR)/entity.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/entity.cpp -o $(DEV_DIR)/entity.o

$(DEV_DIR)/except.o:   $(SRC_DIR)/except.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/except.cpp -o $(DEV_DIR)/except.o

$(DEV_DIR)/field.o:    $(SRC_DIR)/field.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/field.cpp -o $(DEV_DIR)/field.o

$(DEV_DIR)/fieldbdy.o: $(SRC_DIR)/fieldbdy.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/fieldbdy.cpp -o $(DEV_DIR)/fieldbdy.o

$(DEV_DIR)/group.o:    $(SRC_DIR)/group.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/group.cpp -o $(DEV_DIR)/group.o

$(DEV_DIR)/headers.o:  $(SRC_DIR)/headers.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/headers.cpp -o $(DEV_DIR)/headers.o

$(DEV_DIR)/mailbox.o:  $(SRC_DIR)/mailbox.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/mailbox.cpp -o $(DEV_DIR)/mailbox.o

$(DEV_DIR)/mboxlist.o: $(SRC_DIR)/mboxlist.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/mboxlist.cpp -o $(DEV_DIR)/mboxlist.o

$(DEV_DIR)/mechansm.o: $(SRC_DIR)/mechansm.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/mechansm.cpp -o $(DEV_DIR)/mechansm.o

$(DEV_DIR)/mediatyp.o: $(SRC_DIR)/mediatyp.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/mediatyp.cpp -o $(DEV_DIR)/mediatyp.o

$(DEV_DIR)/message.o:  $(SRC_DIR)/message.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/message.cpp -o $(DEV_DIR)/message.o

$(DEV_DIR)/msgcmp.o:   $(SRC_DIR)/msgcmp.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/msgcmp.cpp -o $(DEV_DIR)/msgcmp.o

$(DEV_DIR)/msgid.o:    $(SRC_DIR)/msgid.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/msgid.cpp -o $(DEV_DIR)/msgid.o

$(DEV_DIR)/param.o:    $(SRC_DIR)/param.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/param.cpp -o $(DEV_DIR)/param.o

$(DEV_DIR)/stamp.o:    $(SRC_DIR)/stamp.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/stamp.cpp -o $(DEV_DIR)/stamp.o

$(DEV_DIR)/string.o:   $(SRC_DIR)/string.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/string.cpp -o $(DEV_DIR)/string.o

$(DEV_DIR)/system.o:   $(SRC_DIR)/system.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/system.cpp -o $(DEV_DIR)/system.o

$(DEV_DIR)/text.o:     $(SRC_DIR)/text.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/text.cpp -o $(DEV_DIR)/text.o

$(DEV_DIR)/token.o:    $(SRC_DIR)/token.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/token.cpp -o $(DEV_DIR)/token.o

$(DEV_DIR)/applfile.o:   $(SRC_DIR)/applfile.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/applfile.cpp -o $(DEV_DIR)/applfile.o

$(DEV_DIR)/binhex.o:   $(SRC_DIR)/binhex.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/binhex.cpp -o $(DEV_DIR)/binhex.o

$(DEV_DIR)/uuencode.o: $(SRC_DIR)/uuencode.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/uuencode.cpp -o $(DEV_DIR)/uuencode.o

$(DEV_DIR)/nntp.o : $(SRC_DIR)/nntp.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/nntp.cpp -o $(DEV_DIR)/nntp.o

$(DEV_DIR)/pop.o : $(SRC_DIR)/pop.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/pop.cpp -o $(DEV_DIR)/pop.o

$(DEV_DIR)/protocol.o : $(SRC_DIR)/protocol.cpp $(SRC_DIR)/mimepp/protocol.h
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/protocol.cpp -o $(DEV_DIR)/protocol.o

$(DEV_DIR)/smtp.o : $(SRC_DIR)/smtp.cpp
	$(CXX) -c $(DEV_CXX_FLAGS) $(SRC_DIR)/smtp.cpp -o $(DEV_DIR)/smtp.o

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

REL_CORE_OBJS = \
 $(REL_DIR)/address.o \
 $(REL_DIR)/addrlist.o \
 $(REL_DIR)/body.o \
 $(REL_DIR)/bodypart.o \
 $(REL_DIR)/bounds.o \
 $(REL_DIR)/boyermor.o \
 $(REL_DIR)/datetime.o \
 $(REL_DIR)/disptype.o \
 $(REL_DIR)/dw_cte.o \
 $(REL_DIR)/dw_date.o \
 $(REL_DIR)/dw_mime.o \
 $(REL_DIR)/encoded.o \
 $(REL_DIR)/entity.o \
 $(REL_DIR)/except.o \
 $(REL_DIR)/field.o \
 $(REL_DIR)/fieldbdy.o \
 $(REL_DIR)/group.o \
 $(REL_DIR)/headers.o \
 $(REL_DIR)/mailbox.o \
 $(REL_DIR)/mboxlist.o \
 $(REL_DIR)/mechansm.o \
 $(REL_DIR)/mediatyp.o \
 $(REL_DIR)/message.o \
 $(REL_DIR)/msgcmp.o \
 $(REL_DIR)/msgid.o \
 $(REL_DIR)/param.o \
 $(REL_DIR)/stamp.o \
 $(REL_DIR)/string.o \
 $(REL_DIR)/system.o \
 $(REL_DIR)/text.o \
 $(REL_DIR)/token.o

REL_UTIL_OBJS = \
 $(REL_DIR)/applfile.o \
 $(REL_DIR)/binhex.o \
 $(REL_DIR)/uuencode.o

REL_NET_OBJS = \
 $(REL_DIR)/protocol.o \
 $(REL_DIR)/nntp.o \
 $(REL_DIR)/pop.o \
 $(REL_DIR)/smtp.o

rel_lib : $(REL_DIR)/libmimepp_core.a
rel_lib : $(REL_DIR)/libmimepp_util.a
rel_lib : $(REL_DIR)/libmimepp_net.a

$(REL_DIR) :
	-mkdir $(REL_DIR)

$(REL_DIR)/libmimepp_core.a : $(REL_DIR) $(REL_CORE_OBJS)
	$(AR) rc $(REL_DIR)/libmimepp_core.a $(REL_CORE_OBJS)
	-$(RANLIB) $(REL_DIR)/libmimepp_core.a

$(REL_DIR)/libmimepp_util.a : $(REL_DIR) $(REL_UTIL_OBJS)
	$(AR) rc $(REL_DIR)/libmimepp_util.a $(REL_UTIL_OBJS)
	-$(RANLIB) $(REL_DIR)/libmimepp_util.a

$(REL_DIR)/libmimepp_net.a : $(REL_DIR) $(REL_NET_OBJS)
	$(AR) rc $(REL_DIR)/libmimepp_net.a $(REL_NET_OBJS)
	-$(RANLIB) $(REL_DIR)/libmimepp_net.a

$(REL_DIR)/address.o:  $(SRC_DIR)/address.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/address.cpp -o $(REL_DIR)/address.o

$(REL_DIR)/addrlist.o: $(SRC_DIR)/addrlist.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/addrlist.cpp -o $(REL_DIR)/addrlist.o

$(REL_DIR)/body.o:     $(SRC_DIR)/body.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/body.cpp -o $(REL_DIR)/body.o

$(REL_DIR)/bodypart.o: $(SRC_DIR)/bodypart.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/bodypart.cpp -o $(REL_DIR)/bodypart.o

$(REL_DIR)/bounds.o: $(SRC_DIR)/bounds.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/bounds.cpp -o $(REL_DIR)/bounds.o

$(REL_DIR)/boyermor.o: $(SRC_DIR)/boyermor.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/boyermor.cpp -o $(REL_DIR)/boyermor.o

$(REL_DIR)/datetime.o: $(SRC_DIR)/datetime.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/datetime.cpp -o $(REL_DIR)/datetime.o

$(REL_DIR)/disptype.o: $(SRC_DIR)/disptype.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/disptype.cpp -o $(REL_DIR)/disptype.o

$(REL_DIR)/dw_cte.o:   $(SRC_DIR)/dw_cte.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/dw_cte.cpp -o $(REL_DIR)/dw_cte.o

$(REL_DIR)/dw_date.o:  $(SRC_DIR)/dw_date.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/dw_date.cpp -o $(REL_DIR)/dw_date.o

$(REL_DIR)/dw_mime.o:  $(SRC_DIR)/dw_mime.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/dw_mime.cpp -o $(REL_DIR)/dw_mime.o

$(REL_DIR)/encoded.o:   $(SRC_DIR)/encoded.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/encoded.cpp -o $(REL_DIR)/encoded.o

$(REL_DIR)/entity.o:   $(SRC_DIR)/entity.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/entity.cpp -o $(REL_DIR)/entity.o

$(REL_DIR)/except.o:   $(SRC_DIR)/except.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/except.cpp -o $(REL_DIR)/except.o

$(REL_DIR)/field.o:    $(SRC_DIR)/field.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/field.cpp -o $(REL_DIR)/field.o

$(REL_DIR)/fieldbdy.o: $(SRC_DIR)/fieldbdy.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/fieldbdy.cpp -o $(REL_DIR)/fieldbdy.o

$(REL_DIR)/group.o:    $(SRC_DIR)/group.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/group.cpp -o $(REL_DIR)/group.o

$(REL_DIR)/headers.o:  $(SRC_DIR)/headers.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/headers.cpp -o $(REL_DIR)/headers.o

$(REL_DIR)/mailbox.o:  $(SRC_DIR)/mailbox.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/mailbox.cpp -o $(REL_DIR)/mailbox.o

$(REL_DIR)/mboxlist.o: $(SRC_DIR)/mboxlist.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/mboxlist.cpp -o $(REL_DIR)/mboxlist.o

$(REL_DIR)/mechansm.o: $(SRC_DIR)/mechansm.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/mechansm.cpp -o $(REL_DIR)/mechansm.o

$(REL_DIR)/mediatyp.o: $(SRC_DIR)/mediatyp.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/mediatyp.cpp -o $(REL_DIR)/mediatyp.o

$(REL_DIR)/message.o:  $(SRC_DIR)/message.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/message.cpp -o $(REL_DIR)/message.o

$(REL_DIR)/msgcmp.o:   $(SRC_DIR)/msgcmp.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/msgcmp.cpp -o $(REL_DIR)/msgcmp.o

$(REL_DIR)/msgid.o:    $(SRC_DIR)/msgid.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/msgid.cpp -o $(REL_DIR)/msgid.o

$(REL_DIR)/param.o:    $(SRC_DIR)/param.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/param.cpp -o $(REL_DIR)/param.o

$(REL_DIR)/stamp.o:    $(SRC_DIR)/stamp.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/stamp.cpp -o $(REL_DIR)/stamp.o

$(REL_DIR)/string.o:   $(SRC_DIR)/string.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/string.cpp -o $(REL_DIR)/string.o

$(REL_DIR)/system.o:   $(SRC_DIR)/system.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/system.cpp -o $(REL_DIR)/system.o

$(REL_DIR)/text.o:     $(SRC_DIR)/text.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/text.cpp -o $(REL_DIR)/text.o

$(REL_DIR)/token.o:    $(SRC_DIR)/token.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/token.cpp -o $(REL_DIR)/token.o

$(REL_DIR)/applfile.o:   $(SRC_DIR)/applfile.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/applfile.cpp -o $(REL_DIR)/applfile.o

$(REL_DIR)/binhex.o:   $(SRC_DIR)/binhex.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/binhex.cpp -o $(REL_DIR)/binhex.o

$(REL_DIR)/uuencode.o: $(SRC_DIR)/uuencode.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/uuencode.cpp -o $(REL_DIR)/uuencode.o

$(REL_DIR)/nntp.o : $(SRC_DIR)/nntp.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/nntp.cpp -o $(REL_DIR)/nntp.o

$(REL_DIR)/pop.o : $(SRC_DIR)/pop.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/pop.cpp -o $(REL_DIR)/pop.o

$(REL_DIR)/protocol.o : $(SRC_DIR)/protocol.cpp $(SRC_DIR)/mimepp/protocol.h
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/protocol.cpp -o $(REL_DIR)/protocol.o

$(REL_DIR)/smtp.o : $(SRC_DIR)/smtp.cpp
	$(CXX) -c $(REL_CXX_FLAGS) $(SRC_DIR)/smtp.cpp -o $(REL_DIR)/smtp.o
