1
# Copyright (C) 2001-2006 Artifex Software, Inc.
4
# This software is provided AS-IS with no warranty, either express or
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.
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
22
# This partial makefile compiles the IJS client library for use in
25
IJSSRC=$(IJSSRCDIR)$(D)
26
IJSGEN=$(IJSGENDIR)$(D)
27
IJSOBJ=$(IJSOBJDIR)$(D)
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.
34
IJS_INCL=$(I_)$(IJSI_)$(_I)
35
IJS_CCFLAGS=$(IJS_INCL) $(IJSF_)
36
IJS_CC=$(CC_) $(IJS_CCFLAGS)
38
# Define the name of this makefile.
39
IJS_MAK=$(GLSRC)ijs.mak
41
ijs.clean : ijs.config-clean ijs.clean-not-config-clean
43
### WRONG. MUST DELETE OBJ AND GEN FILES SELECTIVELY.
44
ijs.clean-not-config-clean :
45
# echo $(IJSSRC) $(IJSGEN) $(IJSOBJ) $(IJSO_)
46
$(EXP)$(ECHOGS_XE) $(IJSSRC) $(IJSGEN) $(IJSOBJ) $(IJSO_)
47
$(RM_) $(IJSOBJ)*.$(OBJ)
50
$(RMN_) $(IJSGEN)ijs*.dev
54
ijslib_=$(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_)
61
ijs_client_h=$(IJSSRC)$(D)ijs_client.h
62
ijs_server_h=$(IJSSRC)$(D)ijs_server.h
64
$(IJSOBJ)ijs.$(OBJ) : $(IJSSRC)ijs.c $(IJSDEP) $(ijs_h)
66
$(EXP)$(ECHOGS_XE) $(IJS_CCFLAGS)
67
$(IJS_CC) $(IJSO_)ijs.$(OBJ) $(C_) $(IJSSRC)ijs.c
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
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
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
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
88
# rules for the example client/server implementation
89
# FIXME: linking not portable (or per policy!)
91
ijs_server_example_=$(BINDIR)$(D)ijs_server_example
93
ijs_client_example_=$(BINDIR)$(D)ijs_client_example
96
ijs_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_)
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
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_)
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
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_)