# # targets.mk # # $Source: /usr/local/CVS/SETREF_1_0_Release/ops/src/targets.mk,v # $Revision: 1.10 # $Date: 1997/06/25 02:49:48 # $Name: SETREF_1_0_Release # $Disclaimer: # ---------------------------------------------------------------------- # SET Draft Reference Implementation Disclaimer/License # June 30, 1997 # # This is a beta version of the SET Draft Reference Implementation # ("DRI"). It is a work in progress and is being provided at this # stage and in this form to help developers and other interested # parties to understand the SET protocol. This version of the DRI # provides the core functionality required to process a simple # transaction. This release does not support certificate authority # messages. Nor does it support the SET option to perform # transactions without cardholder certificates. For more details # on the functionality in this beta version, please refer to the # attached documentation. # # Later versions of the DRI will include additional functionality # and may include other changes. DO NOT RELY UPON THIS CODE IN YOUR # DEVELOPMENT. If you discover a bug, please let us know by posting # a message to the SET-DEV mailing list. Our lawyers made us include # the next four paragraphs, so PLEASE READ THE TEXT BELOW because it # describes what you can do with the DRI. # # Copyright (C) 1996, 1997, Visa International Service Association and # MasterCard International Incorporated. All rights reserved. # Permission to copy and implement the material contained herein is # granted subject to the conditions that (i) any copy or re-publication # must bear this legend in full; (ii) any derivative work must bear # a notice that it is not the Draft Reference Implementation ("DRI") # for SET and (iii) that none of the copyright holders shall have any # responsibility or liability whatsoever to any other party arising # from the use or publication of the material contained herein. # # Visa and MasterCard ("Licensors") hereby grant you ("Licensee") a # limited license to (i) make, use, copy and modify the DRI for the # purpose of developing software that complies with the SET # Specification ("SET Products") and for the purpose of achieving a # better understanding of the SET Protocol; and (ii) distribute SET # Products that incorporate all or a portion of the DRI and other # software, which together are provided under a defined interface # different from that provided by the DRI's API. Licensee shall not # redistribute or sell a license to the DRI nor shall Licensee # incorporate any part of the DRI into a SET Toolkit. A "Toolkit" # means a product that provides comprehensive facilities to enable # other parties to create software products for distribution. # Bolt-on applications and payment modules shall not be considered # Toolkits for the purpose of this license. The DRI is not intended # to be used as a Toolkit. # # Licensors make no representation or warranty of any kind, express # or implied, relating to the DRI. Licensors are making the DRI # publicly available as an aid to understanding, creating, and # testing SET Products. Licensees are solely responsible for any # use of the DRI and agree to hold Licensors harmless for any claim # that may arise out of any product created with the DRI. # # Licensee expressly acknowledges Terisa Systems, Inc., a Delaware # Corporation with offices at 4984 El Camino Real, Los Altos, # California, as a third party beneficiary of this license. # # This software is controlled material under U.S. law and the laws # of other jurisdictions and you hereby acknowledge and agree that # you must fully comply with all the current laws of the United States # including, without limitation, rules and regulations of the United # States Office of Export Administration and other applicable U.S. # governmental agencies. # ---------------------------------------------------------------------- # $ # # Copyright (C) 1997, Visa International Service Association and MasterCard International Incorporated # All Rights Reserved. # # briank@terisa.com # # # CONFIGURE USER-DEFINED LOCAL ENVIRONMENT # # These fields are specified by the user. The remainder of # this file is generated from this user-specified information. # # OPS_DEFINES: # cpp defines, with the -D flag preceeding each # # OPS_INCLUDES: # cpp include directories, with the -I flag preceeding each # # OPS_INTERNAL: # headers files which are local to a specific module directory, # and should not be used by other parts of the toolkit or by # the user # # OPS_LIBNAME: # the library associated with this module directory, used in # most cases for debugging purposes # # OPS_MAKEFILES: # the makefiles # # OPS_PREFIX: # defines the module name, which also serves as the # prefix for all the variable names defined in this file # # OPS_PRIVATE: # the private, for-toolkit-use-only API header files # # OPS_PROGRAMS: # programs to build # # OPS_PUBLIC: # the header files that define the public API for the toolkit # # OPS_SOURCES: # the source files to compile to object # OPS_DEFINES = OPS_INCLUDES = -I$(A2C_SRCDIR) -I$(ALLOC_CTX_SRCDIR) \ -I$(ASN1_SRCDIR) -I$(CERTS_SRCDIR) \ -I$(COMMON_SRCDIR) -I$(ERROR_CTX_SRCDIR) \ -I$(IO_CTX_SRCDIR) -I$(KDB_SRCDIR) \ -I$(PKCS7_SRCDIR) -I$(UTIL_SRCDIR) OPS_INTERNAL = CR_either_S.h either_E.h either_S.h ops_error.h OPS_LIBNAME = libops.$(LIBSUFFIX) OPS_MAKEFILES = Makefile global.mk override.mk targets.mk OPS_PREFIX = OPS OPS_PRIVATE = ops.h ops_ctx.h OPS_PROGRAMS = OPS_PUBLIC = OPS_SOURCES = CR_Enc.c CR_EncX.c CR_S.c DD.c E.c EH.c EK.c EX.c \ EXH.c Enc.c EncB.c EncBX.c EncK.c EncX.c H.c \ HMAC.c L.c S.c SO.c THUMBPRINT.c oaep.c ops_ctx.c \ ops_error.c # # CONFIGURE AUTOMATICALLY-GENERATED LOCAL ENVIRONMENT # # OPS_OBJECTS: # object files to build # # OPS_UNUSED: # obsolete files in the module directory that are not # used during the build process # # OPS_USED: # all files in the module directory that are used # during the build process # OPS_OBJECTS = CR_Enc.$(OBJSUFFIX) CR_EncX.$(OBJSUFFIX) \ CR_S.$(OBJSUFFIX) DD.$(OBJSUFFIX) E.$(OBJSUFFIX) \ EH.$(OBJSUFFIX) EK.$(OBJSUFFIX) EX.$(OBJSUFFIX) \ EXH.$(OBJSUFFIX) Enc.$(OBJSUFFIX) \ EncB.$(OBJSUFFIX) EncBX.$(OBJSUFFIX) \ EncK.$(OBJSUFFIX) EncX.$(OBJSUFFIX) H.$(OBJSUFFIX) \ HMAC.$(OBJSUFFIX) L.$(OBJSUFFIX) S.$(OBJSUFFIX) \ SO.$(OBJSUFFIX) THUMBPRINT.$(OBJSUFFIX) \ oaep.$(OBJSUFFIX) ops_ctx.$(OBJSUFFIX) \ ops_error.$(OBJSUFFIX) OPS_UNUSED = OPS_USED = $(OPS_INTERNAL:%=$(OPS_SRCDIR)%) \ $(OPS_MAKEFILES:%=$(OPS_SRCDIR)%) \ $(OPS_PRIVATE:%=$(OPS_SRCDIR)%) \ $(OPS_PUBLIC:%=$(OPS_SRCDIR)%) \ $(OPS_SOURCES:%=$(OPS_SRCDIR)%) # # NOTES # # The following variables may be used during the build process, # but are not defined in this file. If they are to be set # to something other than the default blank, then they must # be set by the calling make system. # # OPS_SRCDIR: # if the build target directory is different from the # module directory (the source directory), then this # variable contains the relative or full path of # the module directory # # LIBARS: # the library archive files (with fully-specified paths) that # executables built from this module directory depend upon # # LIBPATHS: # the paths to search for library archives (specified with # the -L) # # LIBS: # the libraries to use while building executables from # this module directory (specified with the -l) # # # GENERIC ENVIRONMENT # DEFINES += $(OPS_DEFINES) OBJECTS += $(OPS_OBJECTS) PUBLIC += $(OPS_PUBLIC) # # GENERIC DEPENDENCIES # # default: # default dependency, must be the first dependency in this makefile # # all: # build everything in this module directory # # build: # make only the toolkit build files of this module directory # # ci: # perform an RCS check-in of this module directory # # clean: # remove the compiled files # # clean_public: # remove the public header files that have been copied # to a public build directory # # objects: # build the object files (this dependency is used for # building the toolkit library) # # private: # build only the private API header files # # public: # build only the public API header files # default: $(OPS_LIBNAME) default: $(OPS_PROGRAMS) all: $(OPS_PUBLIC) all: $(OPS_OBJECTS) all: $(OPS_LIBNAME) all: $(OPS_PROGRAMS) build: $(OPS_PUBLIC) build: $(OPS_OBJECTS) ci: ops_ci clean: ops_clean clean_public: ops_clean_public objects: $(OPS_OBJECTS) private: $(OPS_PRIVATE) public: $(OPS_PUBLIC) # # LOCAL UTILITY DEPENDENCIES # # utility dependencies are necessary because of some # make-isms having to do with dependencies # ops_ci: $(CI) $(CIFLAGS) $(OPS_USED) ops_clean: $(RM) $(RMFLAGS) $(OPS_OBJECTS) $(OPS_LIBNAME) $(OPS_PROGRAMS) ops_clean_public: $(RM) $(RMFLAGS) $(OPS_PUBLIC) ops_objects: $(OPS_OBJECTS) ops_programs: $(OPS_PROGRAMS) ops_public: $(OPS_PUBLIC) # # BUILD DEPENDENCIES # # build dependencies invoke the rule used to build each # class of file # $(OPS_LIBNAME): $(AR) $(ARFLAGS) $@ $? $(RANLIB) $@ $(OPS_OBJECTS): $(COMPILE.c) $(OPS_SRCDIR)$(@:%.$(OBJSUFFIX)=%.c) $(DEFINES) $(INCLUDES) $(OPS_PUBLIC): $(CP) $(CPFLAGS) $(OPS_SRCDIR)$@ $@ $(OPS_PROGRAMS): $(LINK.c) $@.$(OBJSUFFIX) $(LDLIBS) $(LIBS) $(LIBPATHS) # # FILE DEPENDENCIES # # file dependencies state, for each file that is built, # which file(s) it depends upon # CR_Enc.$(OBJSUFFIX): $(OPS_SRCDIR)CR_Enc.c CR_EncX.$(OBJSUFFIX): $(OPS_SRCDIR)CR_EncX.c CR_S.$(OBJSUFFIX): $(OPS_SRCDIR)CR_S.c DD.$(OBJSUFFIX): $(OPS_SRCDIR)DD.c E.$(OBJSUFFIX): $(OPS_SRCDIR)E.c EH.$(OBJSUFFIX): $(OPS_SRCDIR)EH.c EK.$(OBJSUFFIX): $(OPS_SRCDIR)EK.c EX.$(OBJSUFFIX): $(OPS_SRCDIR)EX.c EXH.$(OBJSUFFIX): $(OPS_SRCDIR)EXH.c Enc.$(OBJSUFFIX): $(OPS_SRCDIR)Enc.c EncB.$(OBJSUFFIX): $(OPS_SRCDIR)EncB.c EncBX.$(OBJSUFFIX): $(OPS_SRCDIR)EncBX.c EncK.$(OBJSUFFIX): $(OPS_SRCDIR)EncK.c EncX.$(OBJSUFFIX): $(OPS_SRCDIR)EncX.c H.$(OBJSUFFIX): $(OPS_SRCDIR)H.c HMAC.$(OBJSUFFIX): $(OPS_SRCDIR)HMAC.c L.$(OBJSUFFIX): $(OPS_SRCDIR)L.c S.$(OBJSUFFIX): $(OPS_SRCDIR)S.c SO.$(OBJSUFFIX): $(OPS_SRCDIR)SO.c THUMBPRINT.$(OBJSUFFIX): $(OPS_SRCDIR)THUMBPRINT.c oaep.$(OBJSUFFIX): $(OPS_SRCDIR)oaep.c ops_ctx.$(OBJSUFFIX): $(OPS_SRCDIR)ops_ctx.h ops_ctx.$(OBJSUFFIX): $(OPS_SRCDIR)ops_ctx.c ops_error.$(OBJSUFFIX): $(OPS_SRCDIR)ops_error.h ops_error.$(OBJSUFFIX): $(OPS_SRCDIR)ops_error.c $(OPS_LIBNAME): $(OPS_OBJECTS)