Win.mak 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. # This Makefile builds the Example DataBlade.
  2. #
  3. # Requirement:
  4. #
  5. # Define $INFORMIXDIR and $USERFUNCDIR .
  6. # $USERFUNCDIR can be defined as examples directory
  7. # i.e. $INFORMIXDIR/extend/TimeSeries.6.00.FC1/examples
  8. #
  9. # Run the following in dbaccess to create database:
  10. # create database test with log;
  11. #
  12. # Run the following to compile the sources:
  13. # nmake -f Win.mak clean
  14. # nmake -f Win,mak all
  15. #
  16. # Run the following to setup:
  17. # dbaccess -e test setup.sql
  18. #
  19. # Run the following to test:
  20. # dbaccess -e test test.sql
  21. #
  22. # This is the project title.
  23. PROJECT_TITLE = Example
  24. # Insure that INFORMIXDIR is set.
  25. !IF "$(INFORMIXDIR)" == ""
  26. !MESSAGE
  27. !MESSAGE The INFORMIXDIR environment variable is not set.
  28. !MESSAGE This variable must be be set to the location of
  29. !MESSAGE the Informix installation. This is typically
  30. !MESSAGE X:\informix where "X" is the drive letter.
  31. !MESSAGE Use "set INFORMIXDIR X:\informix" to set this
  32. !MESSAGE variable from a DOS command prompt or the System
  33. !MESSAGE entry in the Control Panel to set it permanently.
  34. !MESSAGE
  35. !MESSAGE INFORMIXDIR has defaulted to $(HOMEDRIVE)\informix.
  36. !MESSAGE
  37. INFORMIXDIR=$(HOMEDRIVE)\informix
  38. !ENDIF
  39. # windows-specific code goes here.
  40. MI_INCLUDE=$(INFORMIXDIR)\incl
  41. RM= del
  42. RMFLAGS= /q
  43. CC= cl
  44. CSRVRFLAGS= -Ze -Wp64 -MD -DWINNT -D_WIN_NT_ -DNT -DWIN32 -DWIN64 -DWINDOWS -DNT_MI_SAPI -DGL_NT_STATIC -DMI_SERVBUILD -Ox -D_CRT_SECURE_NO_WARNINGS -DADDR_64BIT
  45. CFLAGS= $(CSRVRFLAGS) -I$(MI_INCLUDE)\public -I$(MI_INCLUDE)\esql -I$(MI_INCLUDE) -I..\lib $(COPTS)
  46. LINK= cl -LD
  47. SLIBS= user32.lib kernel32.lib msvcrt.lib gdi32.lib advapi32.lib shell32.lib oldnames.lib Binmode.obj Wsock32.lib
  48. ILIBS= $(INFORMIXDIR)\lib\sapi.lib $(INFORMIXDIR)\lib\ifxintfc.lib
  49. TSBELIB= ..\lib\tsbeapi.lib
  50. TSFELIB= ..\lib\tsfeapi.lib
  51. ESQL=$(INFORMIXDIR)\bin\esql
  52. LIBMI_LIB=$(INFORMIXDIR)\lib\dmi\libthdmi.lib
  53. MANIFEST= mt -manifest
  54. MY_DATABASE=test
  55. DBACCESS=dbaccess -e $(MY_DATABASE)
  56. all: Loader.bld TsToList.bld Interpolate.bld tsmov.bld applyfunc.bld sedsql install run_test
  57. # Construct the object files.
  58. Interpolate.obj : Interpolate.c
  59. $(CC) $(CFLAGS) /Fo$@ /c $?
  60. Interpolate.bld : Interpolate.obj
  61. attrib -R $@ > nul
  62. $(LINK) -o $@ Interpolate.obj $(TSBELIB) $(SLIBS) -link -nod $(ILIBS)
  63. $(MANIFEST) $@.manifest -outputresource:"$@;2"
  64. attrib +R $@
  65. Loader.obj : Loader.c
  66. $(CC) $(CFLAGS) /Fo$@ /c $?
  67. Loader.bld : Loader.obj
  68. attrib -R $@ > nul
  69. $(LINK) -o $@ Loader.obj $(TSBELIB) $(SLIBS) -link -nod $(ILIBS)
  70. $(MANIFEST) $@.manifest -outputresource:"$@;2"
  71. attrib +R $@
  72. TsToList.obj : TsToList.c
  73. $(CC) $(CFLAGS) /Fo$@ /c $?
  74. TsToList.bld : TsToList.obj
  75. attrib -R $@ > nul
  76. $(LINK) -o $@ TsToList.obj $(TSBELIB) $(SLIBS) -link -nod $(ILIBS)
  77. $(MANIFEST) $@.manifest -outputresource:"$@;2"
  78. attrib +R $@
  79. tsmov.obj : tsmov.c
  80. $(CC) $(CFLAGS) /Fo$@ /c $?
  81. tsmov.bld : tsmov.obj
  82. attrib -R $@ > nul
  83. $(LINK) -o $@ tsmov.obj $(TSBELIB) $(SLIBS) -link -nod $(ILIBS)
  84. $(MANIFEST) $@.manifest -outputresource:"$@;2"
  85. attrib +R $@
  86. applyfunc.obj : applyfunc.c
  87. $(CC) $(CFLAGS) /Fo$@ /c $?
  88. applyfunc.bld : applyfunc.obj
  89. attrib -R $@ > nul
  90. $(LINK) -o $@ applyfunc.obj $(TSBELIB) $(SLIBS) -link -nod $(ILIBS)
  91. $(MANIFEST) $@.manifest -outputresource:"$@;2"
  92. attrib +R $@
  93. driver.obj : driver.c
  94. $(CC) $(CFLAGS) /Fo$@ /c $?
  95. driver : driver.obj
  96. $(ESQL) -static -o driver driver.obj $(TSFELIB) $(LIBMI_LIB) $(LIBS) -l -nod:LIBC.LIB
  97. sedsql : sedsql.c
  98. $(CC) /MD $?
  99. install :
  100. sedsql -r $$USERFUNCDIR -n $(USERFUNCDIR) -s examples_setup.sql -d temp.sql
  101. echo begin work; > setup.sql
  102. type temp.sql >> setup.sql
  103. echo commit work; >> setup.sql
  104. $(RM) $(RMFLAGS) temp.sql
  105. @echo ----------------------------------------
  106. @echo To install, run "$(DBACCESS) setup.sql"
  107. @echo ----------------------------------------
  108. run_test :
  109. sedsql -r $$USERFUNCDIR -n $(USERFUNCDIR) -s examples.sql -d test.sql
  110. @echo -----------------------------------------------------------
  111. @echo To run the test, type "$(DBACCESS) test.sql"
  112. @echo -----------------------------------------------------------
  113. clean:
  114. attrib -R Loader.bld > nul
  115. $(RM) $(RMFLAGS) Loader.obj
  116. $(RM) $(RMFLAGS) Loader.bld
  117. attrib -R TsToList.bld > nul
  118. $(RM) $(RMFLAGS) TsToList.obj
  119. $(RM) $(RMFLAGS) TsToList.bld
  120. attrib -R Interpolate.bld > nul
  121. $(RM) $(RMFLAGS) Interpolate.obj
  122. $(RM) $(RMFLAGS) Interpolate.bld
  123. attrib -R tsmov.bld > nul
  124. $(RM) $(RMFLAGS) tsmov.obj
  125. $(RM) $(RMFLAGS) tsmov.bld
  126. attrib -R applyfunc.bld > nul
  127. $(RM) $(RMFLAGS) applyfunc.obj
  128. $(RM) $(RMFLAGS) applyfunc.bld
  129. $(RM) $(RMFLAGS) setup.sql
  130. $(RM) $(RMFLAGS) temp.sql
  131. $(RM) $(RMFLAGS) test.sql
  132. $(RM) $(RMFLAGS) *.exp *.lib *.obj *.exe *.manifest