home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a524 / 42.ddi / demo / proc.mk < prev    next >
Encoding:
Makefile  |  1991-03-04  |  3.2 KB  |  119 lines

  1. # $Header: proc.mk.pp,v 6.39 89/10/18 15:57:03 nsalah Exp $ proc.mk.pp
  2.  
  3. #
  4. # proc.mk - Command file for "make" to compile and load OCI and Pro*C programs.
  5. #
  6. # Pro*C programs are assumed to have the extension ".pc"
  7. #
  8. #
  9. # Usage for sample OCI program: 
  10. #    make -f proc.mk sample
  11. # Usage for sample Pro*C program: 
  12. #    make -f proc.mk samplec USERID=name/pass
  13. #
  14.  
  15. #
  16. # NOTE:   ORACLE_HOME must be either:
  17. #        . set in the user's environment
  18. #        . passed in on the command line
  19. #        . defined in a modified version of this makefile
  20. #
  21.  
  22. .SUFFIXES: .exe .c .pc 
  23.  
  24. CC = cc
  25.  
  26. OTHERLIBS=`cat $(ORACLE_HOME)/rdbms/lib/sysliblist`
  27. CLIBS= $(OTHERLIBS)
  28. ECHO=$(ORACLE_HOME)/bin/echodo
  29.  
  30. CLIBS= -lld $(OTHERLIBS)
  31.  
  32. CFLAGS = -O
  33.  
  34. PCC = pcc
  35. PCCINC = $(ORACLE_HOME)/c/lib
  36. PCCFLAGS = include=$(PCCINC) ireclen=132 oreclen=132 rebind=no select_error=no sqlcheck=limited userid=scott/tiger
  37.  
  38. SQLLIB = $(ORACLE_HOME)/rdbms/lib/libsql.a
  39. OCILIB = $(ORACLE_HOME)/rdbms/lib/libocic.a
  40. PCCLIBS = $(ORACLE_HOME)/rdbms/lib/libpcc.a $(SQLLIB) $(OCILIB) \
  41.     $(ORACLE_HOME)/rdbms/lib/libpro.a $(ORACLE_HOME)/rdbms/lib/libpcc.a
  42. NETLIBS=  $(ORACLE_HOME)/rdbms/lib/osntab.o \
  43.     $(ORACLE_HOME)/rdbms/lib/libsqlnet.a 
  44. STLIBS= $(ORACLE_HOME)/rdbms/lib/osntabst.o \
  45.     $(ORACLE_HOME)/rdbms/lib/config.o
  46.  
  47. ORALIBS = $(ORACLE_HOME)/rdbms/lib/libora.a
  48.  
  49. CONFIG=$(ORACLE_HOME)/rdbms/lib/config.o
  50. LIBPLS= $(ORACLE_HOME)/rdbms/lib/libpls.a
  51. LIBPSD=$(ORACLE_HOME)/c/lib/libpsd.a
  52.  
  53. LIBKNL= $(ORACLE_HOME)/rdbms/lib/libknl.a
  54.  
  55. all: sample samplec
  56.  
  57. sample: sample.o
  58.     @$(ECHO) $(CC) $(CFLAGS) -o $@ $@.o $(OCILIB) $(NETLIBS) $(ORALIBS) \
  59.     $(CLIBS)
  60.  
  61. samplest: sample.o
  62.     @$(ECHO) $(CC) $(CFLAGS) -o $@ $? $(OCILIB) $(STLIBS) $(ORALIBS) \
  63.     $(LIBKNL) $(ORALIBS) $(LIBPLS) $(ORALIBS) $(LIBKNL) $(ORALIBS) \
  64.     $(LIBPLS) $(CLIBS)
  65.  
  66. samplec: samplec.c samplec.pc
  67.     @$(ECHO) $(CC) $(CFLAGS) samplec.c -o $@ $(SQLLIB) $(NETLIBS) \
  68.     $(ORALIBS) $(CLIBS)
  69.  
  70. samplecst: samplec.c samplec.pc
  71.     @$(ECHO) $(CC) $(CFLAGS) samplec.c -o $@ $(SQLLIB) $(STLIBS) \
  72.     $(ORALIBS) $(LIBKNL) $(ORALIBS) $(LIBPLS) $(ORALIBS) \
  73.     $(LIBKNL) $(ORALIBS) $(LIBPLS) $(CLIBS)
  74.  
  75. .pc.c:
  76.     $(PCC) $(PCCFLAGS) iname=$*.pc 
  77.  
  78. install: pcc
  79.     -chmod 755 $(ORACLE_HOME)/bin/pcc
  80.     -mv pcc $(ORACLE_HOME)/bin/pcc
  81.     -chmod 755 $(ORACLE_HOME)/bin/pcc
  82.  
  83. pcc: $(PCCLIBS) $(ORALIBS) $(NETLIBS) $(CONFIG) $(LIBPLS) $(LIBPSD)
  84.     @$(ECHO) $(CC) $(CFLAGS) -o $@  $(PCCLIBS) $(NETLIBS) $(LIBPSD) \
  85.     $(ORALIBS) $(LIBPLS) $(LIBPSD) $(ORALIBS) $(LIBPLS) $(CONFIG) $(CLIBS)
  86.  
  87. #
  88. # General suffix rule to build executables from .pc and .c files.
  89. #
  90. # Usage :
  91. #     make -f proc.mk USERID=<user/pass> <prog>.exe
  92. #
  93. # For example to build an executable from a Pro*C source file named 'abc.pc' 
  94. # using scott/tiger for the ORACLE account name.  The make command line will 
  95. # be:
  96. #     make -f proc.mk USERID=scott/tiger abc.exe
  97. #
  98. # The executable will be named 'abc', not 'abc.exe'.
  99. #
  100.  
  101. .pc.exe:
  102.     -$(PCC) iname=$*.pc $(PCCFLAGS) userid=$(USERID)
  103.     @$(ECHO) $(CC) $(CFLAGS) -o $* $*.c $(SQLLIB) $(NETLIBS) $(ORALIBS) \
  104.     $(CLIBS)
  105.  
  106. .c.exe:
  107.     @$(ECHO) $(CC) $(CFLAGS) -o $* $*.c $(SQLLIB) $(OCILIB) $(NETLIBS) \
  108.     $(ORALIBS) $(CLIBS)
  109.  
  110. #
  111. # A Pro*C demo that that uses dynamic SQL to execute arbitray
  112. # interactive SQL commands.
  113. #
  114. dsql: dsql.c dsql.pc
  115.     @$(ECHO) $(CC) $(CFLAGS) dsql.c -o $@ $(SQLLIB) $(NETLIBS) \
  116.     $(ORALIBS) $(CLIBS)
  117.