#
# @(#)Makefile	1.7 98/05/11
#
# Makefile for building cmm dll
#

BUILDDIR = ..\..
LOCATION = sun\cmm
LIBRARY = cmm
!include $(BUILDDIR)\makefiles\defs.nmk

#
# Files to compile.
#
PKG = sun.awt.color
!include $(MINCLUDES)\win32_cmm.jmk
!include $(MINCLUDES)\win32_cmm.cmk

#
# Stuff to feed into javah.
#
EXPORTED_CLASSES = sun.awt.color.CMM

#
# Support _DEBUG ifdefs.
#
!if "$(VARIANT)" == "DBG"
EXTRA_CFLAGS = $(EXTRA_CFLAGS) -D_DEBUG
!endif

#
# Has been converted to the JNI: generate JNI-style header files
#
JAVAHFLAGS = $(JAVAHFLAGS) -jni

#
# Tweak options to tools.
#
EXTRA_CFLAGS   = $(EXTRA_CFLAGS) -DJAVACMM -DFUT_CALC_EX -DNO_FUT_GCONST
EXTRA_LIBS     = $(EXTRA_LIBS) user32.lib version.lib \
		 -def:"$(SHARE_SRC)\native\sun\awt\cmm\cmm.def"

#
# Rules.
#
!include $(BUILDDIR)\makefiles\library.nmk

#
# .res file construction.
#
$(LIBRARY)$G.lcf: cmm$G.res

cmm$G.res: cmm.rc cmm.h
	$(RC) /FOcmm$G.res cmm.rc

cmm.rc: $(SHARE_SRC)\native\sun\awt\cmm\cmm.rc
	copy $(SHARE_SRC)\native\sun\awt\cmm\cmm.rc cmm.rc

cmm.h: $(SHARE_SRC)\native\sun\awt\cmm\cmm.h
        copy $(SHARE_SRC)\native\sun\awt\cmm\cmm.h cmm.h

clean: res.clean

res.clean: FORCE
	-$(DEL) cmm.rc cmm.res cmm.h

#
# ICC Profiles used by the CMM.
#
ICCPROFILE_SRC_DIR  = $(SHARE_SRC)\lib\cmm
ICCPROFILE_DEST_DIR = $(LIBDIR)\cmm

optimized.epilogue debug.epilogue: iccprofiles.install
clean clobber: iccprofiles.clean

iccprofiles.install: \
    $(ICCPROFILE_DEST_DIR)\sRGB.pf \
    $(ICCPROFILE_DEST_DIR)\GRAY.pf \
    $(ICCPROFILE_DEST_DIR)\CIEXYZ.pf \
    $(ICCPROFILE_DEST_DIR)\PYCC.pf \
    $(ICCPROFILE_DEST_DIR)\LINEAR_RGB.pf

$(ICCPROFILE_DEST_DIR)\sRGB.pf: $(ICCPROFILE_SRC_DIR)\sRGB.pf
	@if not exist $(ICCPROFILE_DEST_DIR) mkdir $(ICCPROFILE_DEST_DIR)
	copy $(ICCPROFILE_SRC_DIR)\sRGB.pf $(ICCPROFILE_DEST_DIR)

$(ICCPROFILE_DEST_DIR)\GRAY.pf: $(ICCPROFILE_SRC_DIR)\GRAY.pf
	@if not exist $(ICCPROFILE_DEST_DIR) mkdir $(ICCPROFILE_DEST_DIR)
	copy $(ICCPROFILE_SRC_DIR)\GRAY.pf $(ICCPROFILE_DEST_DIR)

$(ICCPROFILE_DEST_DIR)\CIEXYZ.pf: $(ICCPROFILE_SRC_DIR)\CIEXYZ.pf
	@if not exist $(ICCPROFILE_DEST_DIR) mkdir $(ICCPROFILE_DEST_DIR)
	copy $(ICCPROFILE_SRC_DIR)\CIEXYZ.pf $(ICCPROFILE_DEST_DIR)

$(ICCPROFILE_DEST_DIR)\PYCC.pf: $(ICCPROFILE_SRC_DIR)\PYCC.pf
	@if not exist $(ICCPROFILE_DEST_DIR) mkdir $(ICCPROFILE_DEST_DIR)
	copy $(ICCPROFILE_SRC_DIR)\PYCC.pf $(ICCPROFILE_DEST_DIR)

$(ICCPROFILE_DEST_DIR)\LINEAR_RGB.pf: $(ICCPROFILE_SRC_DIR)\LINEAR_RGB.pf
	@if not exist $(ICCPROFILE_DEST_DIR) mkdir $(ICCPROFILE_DEST_DIR)
	copy $(ICCPROFILE_SRC_DIR)\LINEAR_RGB.pf $(ICCPROFILE_DEST_DIR)

iccprofiles.clean: FORCE
	-$(DEL) $(ICCPROFILE_DEST_DIR)\sRGB.pf
	-$(DEL) $(ICCPROFILE_DEST_DIR)\GRAY.pf
	-$(DEL) $(ICCPROFILE_DEST_DIR)\CIEXYZ.pf
	-$(DEL) $(ICCPROFILE_DEST_DIR)\PYCC.pf
	-$(DEL) $(ICCPROFILE_DEST_DIR)\LINEAR_RGB.pf
	-$(DELTREE) $(ICCPROFILE_DEST_DIR)

{$(SHARE_SRC)\native\sun\awt\cmm}.c{$(OBJDIR)}.obj:
	$(CC) $(CFLAGS) -c -Fo$@ $<

#
# Eval stuff.
#
$(LIBRARY)$G.lcf: $(OBJDIR)\evalth13.obj $(OBJDIR)\evalth14.obj
$(OBJDIR)\evalth13.obj: $(SHARE_SRC)\native\sun\awt\cmm\evalth13.asm
	ml -nologo -c -Cp -coff -Fo$@ \
		$(SHARE_SRC)\native\sun\awt\cmm\evalth13.asm

$(OBJDIR)\evalth14.obj: $(SHARE_SRC)\native\sun\awt\cmm\evalth14.asm
	ml -nologo -c -Cp -coff -Fo$@ \
		$(SHARE_SRC)\native\sun\awt\cmm\evalth14.asm
