1# Copyright (C) 2001-2019 Artifex Software, Inc. 2# All Rights Reserved. 3# 4# This software is provided AS-IS with no warranty, either express or 5# implied. 6# 7# This software is distributed under license and may not be copied, 8# modified or distributed except as expressly authorized under the terms 9# of the license contained in the file LICENSE in this distribution. 10# 11# Refer to licensing information at http://www.artifex.com or contact 12# Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, 13# CA 94945, U.S.A., +1(415)492-9861, for further information. 14# 15# 16# makefile for ITU-T Rec. T.835 (ex T.JPEGXR_-5) | ISO/IEC 29199-5 reference software 17# 18# Users of this makefile must define the following: 19# SHARE_JPEGXR - 1 to link a system (shared) library 20# 0 to compile in the referenced source, 21# JPEGXR_SRCDIR - the jpegxr source top-level directory, 22# JPEGXR_GENDIR - directory for intermediate generated files, 23# JPEGXR_OBJDIR - directory for object files. 24 25# Define the name of this makefile 26JPEGXR_MAK=$(GLSRC)jpegxr.mak $(TOP_MAKEFILES) 27 28# local aliases 29JPEGXR_SRC=$(JPEGXR_SRCDIR)$(D) 30JPEGXR_GEN=$(JPEGXR_GENDIR)$(D) 31JPEGXR_OBJ=$(JPEGXR_OBJDIR)$(D) 32JPEGXR_O_=$(O_)$(JPEGXR_OBJ) 33 34JPEGXR_CC=$(CC_) $(JPEGXR_CFLAGS) $(D_)JXR_DLL_EXPORTS=1$(_D) $(D_)NDEBUG$(_D) 35 36jpegxr.clean : jpegxr.config-clean jpegxr.clean-not-config-clean 37 38# would be nice if we used an explicit object list here 39jpegxr.clean-not-config-clean : 40 $(RM_) $(JPEGXR_OBJ)*.$(OBJ) 41 42jpegxr.config-clean : 43 $(RM_) $(JPEGXR_GEN)jpegxr.dev 44 $(RM_) $(JPEGXR_GEN)jpegxr_0.dev 45 $(RM_) $(JPEGXR_GEN)jpegxr_1.dev 46 47jpegxr_objs= \ 48 $(JPEGXR_OBJ)algo.$(OBJ) \ 49 $(JPEGXR_OBJ)api.$(OBJ) \ 50 $(JPEGXR_OBJ)w_emit.$(OBJ) \ 51 $(JPEGXR_OBJ)flags.$(OBJ) \ 52 $(JPEGXR_OBJ)init.$(OBJ) \ 53 $(JPEGXR_OBJ)io.$(OBJ) \ 54 $(JPEGXR_OBJ)cr_parse.$(OBJ) \ 55 $(JPEGXR_OBJ)cw_emit.$(OBJ) \ 56 $(JPEGXR_OBJ)r_parse.$(OBJ) \ 57 $(JPEGXR_OBJ)jpegxr_pixelformat.$(OBJ) \ 58 $(JPEGXR_OBJ)r_strip.$(OBJ) \ 59 $(JPEGXR_OBJ)r_tile_spatial.$(OBJ) \ 60 $(JPEGXR_OBJ)r_tile_frequency.$(OBJ) \ 61 $(JPEGXR_OBJ)w_strip.$(OBJ) \ 62 $(JPEGXR_OBJ)w_tile_spatial.$(OBJ) \ 63 $(JPEGXR_OBJ)w_tile_frequency.$(OBJ) \ 64 $(JPEGXR_OBJ)x_strip.$(OBJ) 65 66JPEGXR_DEPS=$(JPEGXR_SRC)jpegxr.h $(JPEGXR_SRC)jxr_priv.h $(JPEGXR_MAK) $(MAKEDIRS) 67 68$(JPEGXR_OBJ)algo.$(OBJ) : $(JPEGXR_SRC)algo.c $(JPEGXR_DEPS) 69 $(JPEGXR_CC) $(JPEGXR_O_)algo.$(OBJ) $(C_) $(JPEGXR_SRC)algo.c 70$(JPEGXR_OBJ)api.$(OBJ) : $(JPEGXR_SRC)api.c $(JPEGXR_DEPS) 71 $(JPEGXR_CC) $(JPEGXR_O_)api.$(OBJ) $(C_) $(JPEGXR_SRC)api.c 72$(JPEGXR_OBJ)w_emit.$(OBJ) : $(JPEGXR_SRC)w_emit.c $(JPEGXR_DEPS) 73 $(JPEGXR_CC) $(JPEGXR_O_)w_emit.$(OBJ) $(C_) $(JPEGXR_SRC)w_emit.c 74$(JPEGXR_OBJ)flags.$(OBJ) : $(JPEGXR_SRC)flags.c $(JPEGXR_DEPS) 75 $(JPEGXR_CC) $(JPEGXR_O_)flags.$(OBJ) $(C_) $(JPEGXR_SRC)flags.c 76$(JPEGXR_OBJ)init.$(OBJ) : $(JPEGXR_SRC)init.c $(JPEGXR_DEPS) 77 $(JPEGXR_CC) $(JPEGXR_O_)init.$(OBJ) $(C_) $(JPEGXR_SRC)init.c 78$(JPEGXR_OBJ)io.$(OBJ) : $(JPEGXR_SRC)io.c $(JPEGXR_DEPS) 79 $(JPEGXR_CC) $(JPEGXR_O_)io.$(OBJ) $(C_) $(JPEGXR_SRC)io.c 80$(JPEGXR_OBJ)cr_parse.$(OBJ) : $(JPEGXR_SRC)cr_parse.c $(JPEGXR_DEPS) 81 $(JPEGXR_CC) $(JPEGXR_O_)cr_parse.$(OBJ) $(C_) $(JPEGXR_SRC)cr_parse.c 82$(JPEGXR_OBJ)cw_emit.$(OBJ) : $(JPEGXR_SRC)cw_emit.c $(JPEGXR_DEPS) 83 $(JPEGXR_CC) $(JPEGXR_O_)cw_emit.$(OBJ) $(C_) $(JPEGXR_SRC)cw_emit.c 84$(JPEGXR_OBJ)r_parse.$(OBJ) : $(JPEGXR_SRC)r_parse.c $(JPEGXR_DEPS) 85 $(JPEGXR_CC) $(JPEGXR_O_)r_parse.$(OBJ) $(C_) $(JPEGXR_SRC)r_parse.c 86$(JPEGXR_OBJ)jpegxr_pixelformat.$(OBJ) : $(JPEGXR_SRC)jpegxr_pixelformat.c $(JPEGXR_DEPS) 87 $(JPEGXR_CC) $(JPEGXR_O_)jpegxr_pixelformat.$(OBJ) $(C_) $(JPEGXR_SRC)jpegxr_pixelformat.c 88$(JPEGXR_OBJ)r_strip.$(OBJ) : $(JPEGXR_SRC)r_strip.c $(JPEGXR_DEPS) 89 $(JPEGXR_CC) $(JPEGXR_O_)r_strip.$(OBJ) $(C_) $(JPEGXR_SRC)r_strip.c 90$(JPEGXR_OBJ)r_tile_spatial.$(OBJ) : $(JPEGXR_SRC)r_tile_spatial.c $(JPEGXR_DEPS) 91 $(JPEGXR_CC) $(JPEGXR_O_)r_tile_spatial.$(OBJ) $(C_) $(JPEGXR_SRC)r_tile_spatial.c 92$(JPEGXR_OBJ)r_tile_frequency.$(OBJ) : $(JPEGXR_SRC)r_tile_frequency.c $(JPEGXR_DEPS) 93 $(JPEGXR_CC) $(JPEGXR_O_)r_tile_frequency.$(OBJ) $(C_) $(JPEGXR_SRC)r_tile_frequency.c 94$(JPEGXR_OBJ)w_strip.$(OBJ) : $(JPEGXR_SRC)w_strip.c $(JPEGXR_DEPS) 95 $(JPEGXR_CC) $(JPEGXR_O_)w_strip.$(OBJ) $(C_) $(JPEGXR_SRC)w_strip.c 96$(JPEGXR_OBJ)w_tile_spatial.$(OBJ) : $(JPEGXR_SRC)w_tile_spatial.c $(JPEGXR_DEPS) 97 $(JPEGXR_CC) $(JPEGXR_O_)w_tile_spatial.$(OBJ) $(C_) $(JPEGXR_SRC)w_tile_spatial.c 98$(JPEGXR_OBJ)w_tile_frequency.$(OBJ) : $(JPEGXR_SRC)w_tile_frequency.c $(JPEGXR_DEPS) 99 $(JPEGXR_CC) $(JPEGXR_O_)w_tile_frequency.$(OBJ) $(C_) $(JPEGXR_SRC)w_tile_frequency.c 100$(JPEGXR_OBJ)x_strip.$(OBJ) : $(JPEGXR_SRC)x_strip.c $(JPEGXR_DEPS) 101 $(JPEGXR_CC) $(JPEGXR_O_)x_strip.$(OBJ) $(C_) $(JPEGXR_SRC)x_strip.c 102 103# Define the compiled in target 104$(JPEGXR_GEN)jpegxr_0.dev : $(ECHOGS_XE) $(jpegxr_objs) $(JPEGXR_DEPS) 105 $(SETMOD) $(JPEGXR_GEN)jpegxr_0 $(jpegxr_objs) 106 107# Define the external link target 108$(JPEGXR_GEN)jpegxr_1.dev : $(ECHOGS_XE) $(JPEGXR_MAK) $(MAKEDIRS) 109 $(SETMOD) $(JPEGXR_GEN)jpegxr_1 -lib jpegxr 110 111# Copy the target definition we want 112$(JPEGXR_GEN)jpegxr.dev : $(TOP_MAKEFILES) \ 113 $(JPEGXR_GEN)jpegxr_$(SHARE_JPEGXR).dev $(JPEGXR_MAK) $(MAKEDIRS) 114 $(CP_) $(JPEGXR_GEN)jpegxr_$(SHARE_JPEGXR).dev $(JPEGXR_GEN)jpegxr.dev 115 116 117