SRCDIR=../lib
#MGL_INSTALLED=y
include ../conf/config.mk
include ../conf/${OSTYPE}.mk

CFLAGS= -g -O -I${SRCDIR} ${INCS_MGL}
LDFLAGS= ${LIBS_MGL} 

ifeq (${MGL_MACHINE},MGL_MACHINE_HPCMIPS)
CALIB_PROGS=mglcalibrate calibconf
INSTALL_update_tool=Y
else
CALIB_PROGS=mglcalibrate
endif

all: ${SERVER_X11} ${SERVER_CONS} ${IM_PROG} ${CALIB_PROGS} ${CALIB_CONF} imsoft.so mgl_fontinfo bdftomgl

ifdef SERVER_X11
CFLAGS += ${INCS_X11}
${SERVER_X11}: ${SRCDIR}/emsvr.c ${SRCDIR}/taskbar.c 
	${CC} -g -o ${SERVER_X11} ${CFLAGS} ${SRCDIR}/emsvr.c ${SRCDIR}/taskbar.c \
		-DSVR_EVENT_MANAGER_INITIATOR=emx11_init \
		${LIBS_MGL} ${LIBS_X11}
endif

ifdef SERVER_CONS
CFLAGS += ${INCS_CONS}
${SERVER_CONS}: ${SRCDIR}/emsvr.c ${SRCDIR}/taskbar.c  
	${CC} -g -o ${SERVER_CONS} ${CFLAGS} ${SRCDIR}/emsvr.c ${SRCDIR}/taskbar.c \
		-DSVR_EVENT_MANAGER_INITIATOR=emcons_init \
		${LIBS_MGL} 

endif


ifdef IM_DYNAMIC
imcanna.so: ${SRCDIR}/imcanna.c
	${CC} ${CFLAGS} ${MGLPIC_CFLAGS} ${INCS_IM} -o imcanna.po -c ${SRCDIR}/imcanna.c
	$(SHLIB_LD) $(SHLIB_LDFLAGS) -o imcanna.so imcanna.po \
		${LIBS_MGL} ${LIBS_IM}
endif

imsoft.so: imsoft.c
	${CC} ${CFLAGS} ${MGLPIC_CFLAGS} -o imsoft.po -c imsoft.c
	$(SHLIB_LD) $(SHLIB_LDFLAGS) -o imsoft.so imsoft.po \
		${LIBS_MGL} 

ifdef CALIB_PROGS
mglcalibrate: mglcalibrate.c
	${CC} -g -o mglcalibrate ${CFLAGS} mglcalibrate.c ${LIBS_MGL} 

calibconf: calibconf.c
	${CC} -g -o calibconf ${CFLAGS} calibconf.c 
endif

install: ${SERVER_X11} ${SERVER_CONS} ${IM_PROG} ${CALIB_PROGS} imsoft.so mgl_fontinfo bdftomgl

ifdef SERVER_CONS
	$(INSTALL) -c -s ${PRIV_ROOT} ${SERVER_CONS} ${MGL_SBIN_DIR}
endif
ifdef SERVER_X11
	$(INSTALL) -c -s ${PRIV_BIN} ${SERVER_X11} ${MGL_BIN_DIR}
endif
ifdef IM_DYNAMIC
	${INSTALL} -c -s ${PRIV_BIN} ${IM_PROG} ${MGLDIR}
endif
	${INSTALL} -c -s ${PRIV_BIN} imsoft.so ${MGLDIR}
	${INSTALL} -c -s ${PRIV_BIN} mgl_fontinfo ${MGL_BIN_DIR}
	${INSTALL} -c -s ${PRIV_BIN} bdftomgl ${MGL_BIN_DIR}
ifdef CALIB_PROGS
	${INSTALL} -c -s ${PRIV_BIN} ${CALIB_PROGS} ${MGL_SBIN_DIR}
ifdef INSTALL_update_tool
	${INSTALL} -c  ${PRIV_BIN} calibdata-update ${MGL_SBIN_DIR}
endif
endif

mgl_fontcreate: mgl_fontcreate.o
	$(CC) -o mgl_fontcreate mgl_fontcreate.o ${LIBS_X11}

krom.fnt : mgl_fontcreate
	./mgl_fontcreate

install-font: krom.fnt
	${INSTALL} ${PRIV_BIN} k12x12.fnt ${MGLDIR}
	${INSTALL} ${PRIV_BIN} k16x16.fnt ${MGLDIR}
	${INSTALL} ${PRIV_BIN} k24x24.fnt ${MGLDIR}

clean:
	rm -f *.o ${SERVER_CONS} ${SERVER_X11} ${IM_PROG} *.po *.so \
		mgl_fontcreate mgl_fontinfo mglcalibrate calibconf \
		krom.fnt k12x12.fnt k16x16.fnt k24x24.fnt bdftomgl

