1# Copyright (C) 2001-2006 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, modified 8# or distributed except as expressly authorized under the terms of that 9# license. Refer to licensing information at http://www.artifex.com/ 10# or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, 11# San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information. 12# 13# $Id: ijs.mak 8022 2007-06-05 22:23:38Z giles $ 14# makefile for ijs client library code. 15# Users of this makefile must define the following: 16# IJSSRCDIR - the icclib source directory 17# IJSEXECTYPE - which process control code to use 18# in spawning the server. currently 19# 'unix' and 'win' are supported. 20# BINDIR - where to put the executible examples 21 22# This partial makefile compiles the IJS client library for use in 23# Ghostscript. 24 25IJSSRC=$(IJSSRCDIR)$(D) 26IJSGEN=$(IJSGENDIR)$(D) 27IJSOBJ=$(IJSOBJDIR)$(D) 28IJSO_=$(O_)$(IJSOBJ) 29 30# We need I_, _I_, and _I because the OpenVMS compiler uses different 31# syntax from other compilers. 32# IJSI_ and IJSF_ are defined in gs.mak (why?) 33# as are IJSGENDIR and IJSOBJDIR above. 34IJS_INCL=$(I_)$(IJSI_)$(_I) 35IJS_CCFLAGS=$(IJS_INCL) $(IJSF_) 36IJS_CC=$(CC_) $(IJS_CCFLAGS) 37 38# Define the name of this makefile. 39IJS_MAK=$(GLSRC)ijs.mak 40 41ijs.clean : ijs.config-clean ijs.clean-not-config-clean 42 43### WRONG. MUST DELETE OBJ AND GEN FILES SELECTIVELY. 44ijs.clean-not-config-clean : $(ECHOGS_XE) 45# echo $(IJSSRC) $(IJSGEN) $(IJSOBJ) $(IJSO_) 46 $(EXP)$(ECHOGS_XE) $(IJSSRC) $(IJSGEN) $(IJSOBJ) $(IJSO_) 47 $(RM_) $(IJSOBJ)*.$(OBJ) 48 49ijs.config-clean : 50 $(RMN_) $(IJSGEN)ijs*.dev 51 52IJSDEP=$(AK) 53 54ijslib_=$(IJSOBJ)ijs.$(OBJ) $(IJSOBJ)ijs_server.$(OBJ) \ 55 $(IJSOBJ)ijs_client.$(OBJ) $(IJSOBJ)ijs_exec_$(IJSEXECTYPE).$(OBJ) 56$(IJSGEN)ijslib.dev : $(IJS_MAK) $(ECHOGS_XE) $(ijslib_) 57 $(SETMOD) $(IJSGEN)ijslib $(ijslib_) 58 59ijs_h=$(IJSSRC)ijs.h 60 61ijs_client_h=$(IJSSRC)$(D)ijs_client.h 62ijs_server_h=$(IJSSRC)$(D)ijs_server.h 63 64$(IJSOBJ)ijs.$(OBJ) : $(ECHOGS_XE) $(IJSSRC)ijs.c $(IJSDEP) $(ijs_h) 65# echo $(IJS_CCFLAGS) 66 $(EXP)$(ECHOGS_XE) $(IJS_CCFLAGS) 67 $(IJS_CC) $(IJSO_)ijs.$(OBJ) $(C_) $(IJSSRC)ijs.c 68 69$(IJSOBJ)ijs_client.$(OBJ) : $(IJSSRC)ijs_client.c \ 70 $(IJSDEP) $(ijs_h) $(ijs_client_h) 71 $(IJS_CC) $(IJSO_)ijs_client.$(OBJ) $(C_) $(IJSSRC)ijs_client.c 72 73$(IJSOBJ)ijs_server.$(OBJ) : $(IJSSRC)ijs_server.c \ 74 $(IJSDEP) $(ijs_h) $(ijs_server_h) 75 $(IJS_CC) $(IJSO_)ijs_server.$(OBJ) $(C_) $(IJSSRC)ijs_server.c 76 77$(IJSOBJ)ijs_exec_unix.$(OBJ) : $(IJSSRC)ijs_exec_unix.c \ 78 $(IJSDEP) $(ijs_h) $(ijs_client_h) 79 $(IJS_CC) $(IJSO_)ijs_exec_unix.$(OBJ) $(C_) $(IJSSRC)ijs_exec_unix.c 80 81$(IJSOBJ)ijs_exec_win.$(OBJ) : $(IJSSRC)ijs_exec_win.c \ 82 $(IJSDEP) $(ijs_h) $(ijs_client_h) 83# This can't be compiled with /Za because it needs windows.h. 84 $(CC_WX) $(IJS_CCFLAGS) $(IJSO_)ijs_exec_win.$(OBJ) $(C_) $(IJSSRC)ijs_exec_win.c 85 86 87# 88# rules for the example client/server implementation 89# FIXME: linking not portable (or per policy!) 90 91ijs_server_example_=$(BINDIR)$(D)ijs_server_example 92 93ijs_client_example_=$(BINDIR)$(D)ijs_client_example 94 95 96ijs_examples_=$(ijs_server_example_) $(ijs_client_example_) 97$(IJSGEN)ijs_examples.dev : $(IJS_MAK) $(ECHOGS_XE) \ 98 $(ijs_examples_) $(ijslib_) 99 $(SETMOD) $(IJSGEN)ijs_examples $(ijs_examples_) 100 $(ADDMOD) $(IJSGEN)ijs_examples $(ijslib_) 101 102$(IJSOBJ)ijs_client_example.$(OBJ) : $(IJSSRC)ijs_client_example.c \ 103 $(IJSDEP) $(ijs_h) $(ijs_client_h) 104 $(IJS_CC) $(IJSO_)ijs_client_example.$(OBJ) $(C_) $(IJSSRC)ijs_client_example.c 105 106$(BINDIR)$(D)ijs_client_example : $(IJSOBJ)ijs_client_example.$(OBJ) $(ijslib_) 107 $(IJS_CC) -o bin/ijs_client_example $(IJSOBJ)ijs_client_example.$(OBJ) $(ijslib_) 108 109$(IJSOBJ)ijs_server_example.$(OBJ) : $(IJSSRC)ijs_server_example.c \ 110 $(IJSDEP) $(ijs_h) $(ijs_server_h) 111 $(IJS_CC) $(IJSO_)ijs_server_example.$(OBJ) $(C_) $(IJSSRC)ijs_server_example.c 112 113$(BINDIR)$(D)ijs_server_example : $(IJSOBJ)ijs_server_example.$(OBJ) $(ijslib_) 114 $(IJS_CC) -o bin/ijs_server_example $(IJSOBJ)ijs_server_example.$(OBJ) $(ijslib_) 115