curses 1.2.6 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/macos.yml +19 -0
  3. data/.github/workflows/ubuntu.yml +26 -0
  4. data/.github/workflows/windows.yml +28 -0
  5. data/.gitmodules +1 -1
  6. data/.travis.yml +6 -3
  7. data/History.md +40 -0
  8. data/README.md +4 -1
  9. data/Rakefile +0 -83
  10. data/curses.gemspec +2 -3
  11. data/ext/curses/curses.c +1271 -151
  12. data/ext/curses/extconf.rb +140 -17
  13. data/lib/curses.rb +5 -12
  14. data/sample/form.rb +52 -0
  15. data/sample/menu.rb +1 -1
  16. data/vendor/PDCurses/.gitignore +47 -0
  17. data/vendor/PDCurses/.travis.yml +49 -0
  18. data/vendor/PDCurses/CMakeLists.txt +68 -0
  19. data/vendor/PDCurses/HISTORY.md +2036 -0
  20. data/vendor/PDCurses/IMPLEMNT.md +327 -0
  21. data/vendor/PDCurses/README.md +77 -0
  22. data/vendor/PDCurses/acs_defs.h +265 -0
  23. data/vendor/PDCurses/appveyor.yml +218 -0
  24. data/vendor/PDCurses/cmake/README.md +71 -0
  25. data/vendor/PDCurses/cmake/build_dependencies.cmake +178 -0
  26. data/vendor/PDCurses/cmake/build_options.cmake +25 -0
  27. data/vendor/PDCurses/cmake/dll_version.cmake +26 -0
  28. data/vendor/PDCurses/cmake/gen_config_header.cmake +43 -0
  29. data/vendor/PDCurses/cmake/get_version.cmake +17 -0
  30. data/vendor/PDCurses/cmake/make_uninstall.cmake +19 -0
  31. data/vendor/PDCurses/cmake/project_common.cmake +121 -0
  32. data/vendor/PDCurses/cmake/resource.in.cmake +52 -0
  33. data/vendor/PDCurses/cmake/sdl2_ttf/CMakeLists.txt +83 -0
  34. data/vendor/PDCurses/cmake/target_arch.cmake +36 -0
  35. data/vendor/PDCurses/cmake/version.in.cmake +73 -0
  36. data/vendor/PDCurses/cmake/watcom_open_dos16_toolchain.cmake +96 -0
  37. data/vendor/PDCurses/cmake/watcom_open_dos32_toolchain.cmake +106 -0
  38. data/vendor/PDCurses/cmake/watcom_open_os2v2_toolchain.cmake +105 -0
  39. data/vendor/PDCurses/curses.h +1846 -0
  40. data/vendor/PDCurses/curspriv.h +134 -0
  41. data/vendor/PDCurses/demos/README.md +25 -0
  42. data/vendor/PDCurses/demos/firework.c +144 -0
  43. data/vendor/PDCurses/demos/newtest.c +581 -0
  44. data/vendor/PDCurses/demos/ozdemo.c +447 -0
  45. data/vendor/PDCurses/demos/ptest.c +283 -0
  46. data/vendor/PDCurses/demos/rain.c +157 -0
  47. data/vendor/PDCurses/demos/testcurs.c +1607 -0
  48. data/vendor/PDCurses/demos/tui.c +1048 -0
  49. data/vendor/PDCurses/demos/tui.h +65 -0
  50. data/vendor/PDCurses/demos/tuidemo.c +233 -0
  51. data/vendor/PDCurses/demos/version.c +61 -0
  52. data/vendor/PDCurses/demos/worm.c +432 -0
  53. data/vendor/PDCurses/demos/xmas.c +955 -0
  54. data/vendor/PDCurses/dos/CMakeLists.txt +47 -0
  55. data/vendor/PDCurses/dos/Makefile.bcc +83 -0
  56. data/vendor/PDCurses/dos/Makefile.dmc +257 -0
  57. data/vendor/PDCurses/dos/Makefile.msc +113 -0
  58. data/vendor/PDCurses/dos/Makefile.wcc +107 -0
  59. data/vendor/PDCurses/dos/README.md +51 -0
  60. data/vendor/PDCurses/dos/bccdos.lrf +9 -0
  61. data/vendor/PDCurses/dos/mscdos.lrf +50 -0
  62. data/vendor/PDCurses/dos/pdcclip.c +132 -0
  63. data/vendor/PDCurses/dos/pdcdisp.c +135 -0
  64. data/vendor/PDCurses/dos/pdcdos.h +194 -0
  65. data/vendor/PDCurses/dos/pdcgetsc.c +98 -0
  66. data/vendor/PDCurses/dos/pdckbd.c +513 -0
  67. data/vendor/PDCurses/dos/pdcscrn.c +785 -0
  68. data/vendor/PDCurses/dos/pdcsetsc.c +101 -0
  69. data/vendor/PDCurses/dos/pdcutil.c +212 -0
  70. data/vendor/PDCurses/libobjs.mif +26 -0
  71. data/vendor/PDCurses/makedist.mif +20 -0
  72. data/vendor/PDCurses/man/README.md +21 -0
  73. data/vendor/PDCurses/man/intro.md +361 -0
  74. data/vendor/PDCurses/man/manext.c +119 -0
  75. data/vendor/PDCurses/man/sdl.md +152 -0
  76. data/vendor/PDCurses/man/sdl2.md +58 -0
  77. data/vendor/PDCurses/man/x11.md +407 -0
  78. data/vendor/PDCurses/ncurses/CMakeLists.txt +66 -0
  79. data/vendor/PDCurses/ncurses/README.md +26 -0
  80. data/vendor/PDCurses/ncurses/makefile +29 -0
  81. data/vendor/PDCurses/os2/CMakeLists.txt +41 -0
  82. data/vendor/PDCurses/os2/Makefile.bcc +90 -0
  83. data/vendor/PDCurses/os2/Makefile.wcc +43 -0
  84. data/vendor/PDCurses/os2/README.md +43 -0
  85. data/vendor/PDCurses/os2/iccos2.lrf +50 -0
  86. data/vendor/PDCurses/os2/iccos2.mak +256 -0
  87. data/vendor/PDCurses/os2/pdcclip.c +188 -0
  88. data/vendor/PDCurses/os2/pdcdisp.c +93 -0
  89. data/vendor/PDCurses/os2/pdcgetsc.c +89 -0
  90. data/vendor/PDCurses/os2/pdckbd.c +521 -0
  91. data/vendor/PDCurses/os2/pdcos2.h +55 -0
  92. data/vendor/PDCurses/os2/pdcscrn.c +449 -0
  93. data/vendor/PDCurses/os2/pdcsetsc.c +112 -0
  94. data/vendor/PDCurses/os2/pdcutil.c +52 -0
  95. data/vendor/PDCurses/panel.h +56 -0
  96. data/vendor/PDCurses/pdcurses/README.md +25 -0
  97. data/vendor/PDCurses/pdcurses/addch.c +693 -0
  98. data/vendor/PDCurses/pdcurses/addchstr.c +245 -0
  99. data/vendor/PDCurses/pdcurses/addstr.c +240 -0
  100. data/vendor/PDCurses/pdcurses/attr.c +359 -0
  101. data/vendor/PDCurses/pdcurses/beep.c +68 -0
  102. data/vendor/PDCurses/pdcurses/bkgd.c +223 -0
  103. data/vendor/PDCurses/pdcurses/border.c +411 -0
  104. data/vendor/PDCurses/pdcurses/clear.c +159 -0
  105. data/vendor/PDCurses/pdcurses/color.c +298 -0
  106. data/vendor/PDCurses/pdcurses/debug.c +109 -0
  107. data/vendor/PDCurses/pdcurses/delch.c +96 -0
  108. data/vendor/PDCurses/pdcurses/deleteln.c +211 -0
  109. data/vendor/PDCurses/pdcurses/deprec.c +27 -0
  110. data/vendor/PDCurses/pdcurses/getch.c +417 -0
  111. data/vendor/PDCurses/pdcurses/getstr.c +474 -0
  112. data/vendor/PDCurses/pdcurses/getyx.c +139 -0
  113. data/vendor/PDCurses/pdcurses/inch.c +127 -0
  114. data/vendor/PDCurses/pdcurses/inchstr.c +214 -0
  115. data/vendor/PDCurses/pdcurses/initscr.c +367 -0
  116. data/vendor/PDCurses/pdcurses/inopts.c +324 -0
  117. data/vendor/PDCurses/pdcurses/insch.c +271 -0
  118. data/vendor/PDCurses/pdcurses/insstr.c +264 -0
  119. data/vendor/PDCurses/pdcurses/instr.c +246 -0
  120. data/vendor/PDCurses/pdcurses/kernel.c +259 -0
  121. data/vendor/PDCurses/pdcurses/keyname.c +157 -0
  122. data/vendor/PDCurses/pdcurses/mouse.c +438 -0
  123. data/vendor/PDCurses/pdcurses/move.c +57 -0
  124. data/vendor/PDCurses/pdcurses/outopts.c +159 -0
  125. data/vendor/PDCurses/pdcurses/overlay.c +214 -0
  126. data/vendor/PDCurses/pdcurses/pad.c +260 -0
  127. data/vendor/PDCurses/pdcurses/panel.c +633 -0
  128. data/vendor/PDCurses/pdcurses/printw.c +126 -0
  129. data/vendor/PDCurses/pdcurses/refresh.c +279 -0
  130. data/vendor/PDCurses/pdcurses/scanw.c +578 -0
  131. data/vendor/PDCurses/pdcurses/scr_dump.c +213 -0
  132. data/vendor/PDCurses/pdcurses/scroll.c +101 -0
  133. data/vendor/PDCurses/pdcurses/slk.c +591 -0
  134. data/vendor/PDCurses/pdcurses/termattr.c +182 -0
  135. data/vendor/PDCurses/pdcurses/terminfo.c +217 -0
  136. data/vendor/PDCurses/pdcurses/touch.c +163 -0
  137. data/vendor/PDCurses/pdcurses/util.c +312 -0
  138. data/vendor/PDCurses/pdcurses/window.c +569 -0
  139. data/vendor/PDCurses/sdl1/Makefile.mng +110 -0
  140. data/vendor/PDCurses/sdl1/README.md +31 -0
  141. data/vendor/PDCurses/sdl1/deffont.h +385 -0
  142. data/vendor/PDCurses/sdl1/deficon.h +23 -0
  143. data/vendor/PDCurses/sdl1/pdcclip.c +131 -0
  144. data/vendor/PDCurses/sdl1/pdcdisp.c +373 -0
  145. data/vendor/PDCurses/sdl1/pdcgetsc.c +30 -0
  146. data/vendor/PDCurses/sdl1/pdckbd.c +405 -0
  147. data/vendor/PDCurses/sdl1/pdcscrn.c +414 -0
  148. data/vendor/PDCurses/sdl1/pdcsdl.h +31 -0
  149. data/vendor/PDCurses/sdl1/pdcsetsc.c +64 -0
  150. data/vendor/PDCurses/sdl1/pdcutil.c +40 -0
  151. data/vendor/PDCurses/sdl1/sdltest.c +79 -0
  152. data/vendor/PDCurses/sdl2/CMakeLists.txt +76 -0
  153. data/vendor/PDCurses/sdl2/Makefile.vc +164 -0
  154. data/vendor/PDCurses/sdl2/README.md +34 -0
  155. data/vendor/PDCurses/sdl2/deffont.h +385 -0
  156. data/vendor/PDCurses/sdl2/deficon.h +23 -0
  157. data/vendor/PDCurses/sdl2/pdcclip.c +93 -0
  158. data/vendor/PDCurses/sdl2/pdcdisp.c +534 -0
  159. data/vendor/PDCurses/sdl2/pdcgetsc.c +30 -0
  160. data/vendor/PDCurses/sdl2/pdckbd.c +480 -0
  161. data/vendor/PDCurses/sdl2/pdcscrn.c +443 -0
  162. data/vendor/PDCurses/sdl2/pdcsdl.h +33 -0
  163. data/vendor/PDCurses/sdl2/pdcsetsc.c +67 -0
  164. data/vendor/PDCurses/sdl2/pdcutil.c +39 -0
  165. data/vendor/PDCurses/sdl2/sdltest.c +81 -0
  166. data/vendor/PDCurses/term.h +48 -0
  167. data/vendor/PDCurses/version.mif +7 -0
  168. data/vendor/PDCurses/vt/CMakeLists.txt +28 -0
  169. data/vendor/PDCurses/vt/Makefile.bcc +111 -0
  170. data/vendor/PDCurses/vt/Makefile.dmc +258 -0
  171. data/vendor/PDCurses/vt/Makefile.vc +144 -0
  172. data/vendor/PDCurses/vt/Makefile.wcc +107 -0
  173. data/vendor/PDCurses/vt/README.md +64 -0
  174. data/vendor/PDCurses/vt/pdcclip.c +20 -0
  175. data/vendor/PDCurses/vt/pdcdisp.c +284 -0
  176. data/vendor/PDCurses/vt/pdcgetsc.c +27 -0
  177. data/vendor/PDCurses/vt/pdckbd.c +394 -0
  178. data/vendor/PDCurses/vt/pdcscrn.c +434 -0
  179. data/vendor/PDCurses/vt/pdcsetsc.c +45 -0
  180. data/vendor/PDCurses/vt/pdcutil.c +43 -0
  181. data/vendor/PDCurses/vt/pdcvt.h +16 -0
  182. data/vendor/PDCurses/watcom.mif +68 -0
  183. data/vendor/PDCurses/wincon/CMakeLists.txt +27 -0
  184. data/vendor/PDCurses/wincon/Makefile.bcc +88 -0
  185. data/vendor/PDCurses/wincon/Makefile.dmc +256 -0
  186. data/vendor/PDCurses/wincon/Makefile.lcc +273 -0
  187. data/vendor/PDCurses/wincon/Makefile.mng +176 -0
  188. data/vendor/PDCurses/wincon/Makefile.vc +144 -0
  189. data/vendor/PDCurses/wincon/Makefile.wcc +51 -0
  190. data/vendor/PDCurses/wincon/README.md +85 -0
  191. data/vendor/PDCurses/wincon/pdcclip.c +174 -0
  192. data/vendor/PDCurses/wincon/pdcdisp.c +143 -0
  193. data/vendor/PDCurses/wincon/pdcgetsc.c +55 -0
  194. data/vendor/PDCurses/wincon/pdckbd.c +786 -0
  195. data/vendor/PDCurses/wincon/pdcscrn.c +717 -0
  196. data/vendor/PDCurses/wincon/pdcsetsc.c +91 -0
  197. data/vendor/PDCurses/wincon/pdcurses.ico +0 -0
  198. data/vendor/PDCurses/wincon/pdcurses.rc +28 -0
  199. data/vendor/PDCurses/wincon/pdcutil.c +41 -0
  200. data/vendor/PDCurses/wincon/pdcwin.h +31 -0
  201. data/vendor/PDCurses/wingui/CMakeLists.txt +27 -0
  202. data/vendor/PDCurses/wingui/Makefile.bcc +85 -0
  203. data/vendor/PDCurses/wingui/Makefile.dmc +259 -0
  204. data/vendor/PDCurses/wingui/Makefile.lcc +273 -0
  205. data/vendor/PDCurses/wingui/Makefile.mng +171 -0
  206. data/vendor/PDCurses/wingui/Makefile.vc +144 -0
  207. data/vendor/PDCurses/wingui/Makefile.wcc +51 -0
  208. data/vendor/PDCurses/wingui/README.md +93 -0
  209. data/vendor/PDCurses/wingui/pdcclip.c +174 -0
  210. data/vendor/PDCurses/wingui/pdcdisp.c +718 -0
  211. data/vendor/PDCurses/wingui/pdcgetsc.c +30 -0
  212. data/vendor/PDCurses/wingui/pdckbd.c +143 -0
  213. data/vendor/PDCurses/wingui/pdcscrn.c +2797 -0
  214. data/vendor/PDCurses/wingui/pdcsetsc.c +89 -0
  215. data/vendor/PDCurses/wingui/pdcurses.ico +0 -0
  216. data/vendor/PDCurses/wingui/pdcurses.rc +28 -0
  217. data/vendor/PDCurses/wingui/pdcutil.c +61 -0
  218. data/vendor/PDCurses/wingui/pdcwin.h +122 -0
  219. data/vendor/PDCurses/x11/Makefile.in +754 -0
  220. data/vendor/PDCurses/x11/PDCurses.spec +82 -0
  221. data/vendor/PDCurses/x11/README.md +62 -0
  222. data/vendor/PDCurses/x11/ScrollBox.c +319 -0
  223. data/vendor/PDCurses/x11/ScrollBox.h +51 -0
  224. data/vendor/PDCurses/x11/ScrollBoxP.h +70 -0
  225. data/vendor/PDCurses/x11/aclocal.m4 +994 -0
  226. data/vendor/PDCurses/x11/big_icon.xbm +46 -0
  227. data/vendor/PDCurses/x11/compose.h +201 -0
  228. data/vendor/PDCurses/x11/config.guess +1500 -0
  229. data/vendor/PDCurses/x11/config.h.in +100 -0
  230. data/vendor/PDCurses/x11/config.sub +1616 -0
  231. data/vendor/PDCurses/x11/configure +6700 -0
  232. data/vendor/PDCurses/x11/configure.ac +295 -0
  233. data/vendor/PDCurses/x11/debian/changelog +6 -0
  234. data/vendor/PDCurses/x11/debian/compat +1 -0
  235. data/vendor/PDCurses/x11/debian/control +11 -0
  236. data/vendor/PDCurses/x11/debian/copyright +27 -0
  237. data/vendor/PDCurses/x11/debian/rules +98 -0
  238. data/vendor/PDCurses/x11/install-sh +253 -0
  239. data/vendor/PDCurses/x11/little_icon.xbm +14 -0
  240. data/vendor/PDCurses/x11/ncurses_cfg.h +45 -0
  241. data/vendor/PDCurses/x11/pdcclip.c +173 -0
  242. data/vendor/PDCurses/x11/pdcdisp.c +85 -0
  243. data/vendor/PDCurses/x11/pdcgetsc.c +28 -0
  244. data/vendor/PDCurses/x11/pdckbd.c +104 -0
  245. data/vendor/PDCurses/x11/pdcscrn.c +258 -0
  246. data/vendor/PDCurses/x11/pdcsetsc.c +95 -0
  247. data/vendor/PDCurses/x11/pdcutil.c +52 -0
  248. data/vendor/PDCurses/x11/pdcx11.c +316 -0
  249. data/vendor/PDCurses/x11/pdcx11.h +191 -0
  250. data/vendor/PDCurses/x11/sb.c +155 -0
  251. data/vendor/PDCurses/x11/x11.c +3686 -0
  252. data/vendor/PDCurses/x11/xcurses-config.in +81 -0
  253. metadata +255 -21
@@ -0,0 +1,47 @@
1
+ cmake_minimum_required(VERSION 3.11)
2
+
3
+ if(NOT CMAKE_BUILD_TYPE)
4
+ set(CMAKE_BUILD_TYPE "MinSizeRel" CACHE STRING "Choose the type of build, options are: Debug, Release, or MinSizeRel." FORCE)
5
+ message(STATUS "No build type specified, defaulting to MinSizeRel.")
6
+ endif()
7
+
8
+ PROJECT(dos VERSION "${PROJECT_VERSION}" LANGUAGES C)
9
+ MESSAGE(STATUS "${PROJECT_NAME} version: ${PROJECT_VERSION}")
10
+
11
+ include(project_common)
12
+
13
+ if(WATCOM)
14
+ # this requires using the following toolchainfile file
15
+ # -DCMAKE_TOOLCHAIN_FILE={path}\watcom_open_dos_toolchain.cmake
16
+
17
+ string(APPEND CMAKE_C_FLAGS " -wx") # warning level: to maximum setting
18
+
19
+ if(WATCOM_DOS32)
20
+ string(APPEND CMAKE_C_FLAGS " -mf") # memory model: options are flat (-mf), large (-ml), memdium (-mm), small (-ms)
21
+ else()
22
+ string(APPEND CMAKE_C_FLAGS " -ml") # memory model: options are large (-ml), memdium (-mm), small (-ms)
23
+ endif()
24
+
25
+ string(APPEND CMAKE_C_FLAGS_RELEASE " -oneatx")
26
+ string(APPEND CMAKE_C_FLAGS_MINSIZEREL " -oneatx")
27
+ # optimization:
28
+ # n -> allow numerically unstable optimizations
29
+ # e -> expand user functions inline
30
+ # a -> relax aliasing constraints
31
+ # t -> favor execution time over code size in optimizations
32
+ # x -> equivalent to -obmiler -s
33
+
34
+ string(APPEND CMAKE_C_FLAGS_DEBUG " -d2") # full symbolic debugging info
35
+ string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG " debug watcom all")
36
+
37
+ endif()
38
+
39
+ demo_app(../demos version)
40
+ demo_app(../demos firework)
41
+ demo_app(../demos ozdemo)
42
+ demo_app(../demos newtest)
43
+ demo_app(../demos ptest)
44
+ demo_app(../demos rain)
45
+ demo_app(../demos testcurs)
46
+ demo_app(../demos worm)
47
+ demo_app(../demos xmas)
@@ -0,0 +1,83 @@
1
+ # Borland MAKE Makefile for PDCurses library - DOS BC++ 3.0+
2
+ #
3
+ # Usage: make -f [path\]Makefile.bcc [DEBUG=] [target]
4
+ #
5
+ # where target can be any of:
6
+ # [all|demos|pdcurses.lib|testcurs.exe...]
7
+
8
+ # Change the memory MODEL here, if desired
9
+ MODEL = l
10
+
11
+ O = obj
12
+ E = .exe
13
+ RM = del
14
+
15
+ !ifndef PDCURSES_SRCDIR
16
+ PDCURSES_SRCDIR = ..
17
+ !endif
18
+
19
+ !include $(PDCURSES_SRCDIR)\version.mif
20
+ !include $(PDCURSES_SRCDIR)\libobjs.mif
21
+
22
+ osdir = $(PDCURSES_SRCDIR)\dos
23
+
24
+ !ifdef DEBUG
25
+ CFLAGS = -N -v -y -DPDCDEBUG
26
+ !else
27
+ CFLAGS = -O
28
+ !endif
29
+
30
+ CPPFLAGS = -I$(PDCURSES_SRCDIR)
31
+
32
+ BUILD = $(CC) -1- -K -G -rd -d -w-eff -w-par -c \
33
+ -m$(MODEL) $(CFLAGS) $(CPPFLAGS)
34
+
35
+ LIBEXE = tlib /C /E
36
+
37
+ LIBCURSES = pdcurses.lib
38
+
39
+ all: $(LIBCURSES)
40
+
41
+ clean:
42
+ -$(RM) *.obj
43
+ -$(RM) *.lib
44
+ -$(RM) *.map
45
+ -$(RM) *.exe
46
+
47
+ demos: $(DEMOS)
48
+
49
+ $(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
50
+ -$(RM) $@
51
+ $(LIBEXE) $@ @$(PDCURSES_SRCDIR)\borland.lrf
52
+
53
+ .autodepend
54
+
55
+ {$(srcdir)\}.c.obj:
56
+ $(BUILD) $<
57
+
58
+ {$(osdir)\}.c.obj:
59
+ $(BUILD) $<
60
+
61
+ {$(demodir)\}.c.obj:
62
+ $(BUILD) $<
63
+
64
+ .c.obj:
65
+ $(BUILD) $<
66
+
67
+ .obj.exe:
68
+ $(CC) -m$(MODEL) -e$@ $** $(LIBCURSES)
69
+
70
+ tuidemo.exe: tuidemo.obj tui.obj $(LIBCURSES)
71
+ $(CC) -m$(MODEL) -e$@ $**
72
+
73
+ tui.obj: $(demodir)\tui.c $(demodir)\tui.h $(PDCURSES_CURSES_H)
74
+ $(BUILD) -I$(demodir) $(demodir)\tui.c
75
+
76
+ tuidemo.obj: $(demodir)\tuidemo.c $(PDCURSES_CURSES_H)
77
+ $(BUILD) -I$(demodir) $(demodir)\tuidemo.c
78
+
79
+ PLATFORM1 = Borland C++ 3.1
80
+ PLATFORM2 = Borland C/C++ 3.1 for DOS
81
+ ARCNAME = pdc$(VER)bcc
82
+
83
+ !include $(PDCURSES_SRCDIR)\makedist.mif
@@ -0,0 +1,257 @@
1
+ # Makefile for PDCurses library - DOS Digital Mars
2
+ #
3
+ # Usage: make -f Makefile.dmc [target]
4
+ #
5
+ # where target can be any of:
6
+ # [all|demos|pdcurses.lib|testcurs.exe...]
7
+
8
+ PDCURSES_SRCDIR = ..
9
+
10
+ PDCURSES_CURSES_H = $(PDCURSES_SRCDIR)\curses.h
11
+ PDCURSES_CURSPRIV_H = $(PDCURSES_SRCDIR)\curspriv.h
12
+ PDCURSES_HEADERS = $(PDCURSES_CURSES_H) $(PDCURSES_CURSPRIV_H)
13
+
14
+ PANEL_HEADER = $(PDCURSES_SRCDIR)\panel.h
15
+ TERM_HEADER = $(PDCURSES_SRCDIR)\term.h
16
+
17
+ srcdir = $(PDCURSES_SRCDIR)\pdcurses
18
+ osdir = $(PDCURSES_SRCDIR)\dos
19
+ demodir = $(PDCURSES_SRCDIR)\demos
20
+
21
+ PDCURSES_DOS_H = $(osdir)\pdcdos.h
22
+
23
+ CC = dmc
24
+
25
+ CHTYPE = -DCHTYPE_32
26
+
27
+ CFLAGS = -c -o+space -Nc -msd
28
+
29
+ CPPFLAGS = -I$(PDCURSES_SRCDIR) -msd $(CHTYPE)
30
+
31
+ LINK = dmc
32
+ LIBEXE = lib
33
+
34
+ LIBCURSES = pdcurses.lib
35
+
36
+ BUILD = $(CC) $(CFLAGS) $(CPPFLAGS)
37
+
38
+ DEMOS = testcurs.exe ozdemo.exe newtest.exe xmas.exe \
39
+ tuidemo.exe firework.exe ptest.exe rain.exe worm.exe
40
+
41
+ all: $(LIBCURSES) $(DEMOS)
42
+
43
+ clean:
44
+ -del *.obj
45
+ -del *.lib
46
+ -del *.exe
47
+ -del *.map
48
+ -del advapi32.def
49
+
50
+ LIBOBJS = addch.obj addchstr.obj addstr.obj attr.obj beep.obj bkgd.obj \
51
+ border.obj clear.obj color.obj delch.obj deleteln.obj deprec.obj getch.obj \
52
+ getstr.obj getyx.obj inch.obj inchstr.obj initscr.obj inopts.obj \
53
+ insch.obj insstr.obj instr.obj kernel.obj keyname.obj mouse.obj move.obj \
54
+ outopts.obj overlay.obj pad.obj panel.obj printw.obj refresh.obj \
55
+ scanw.obj scr_dump.obj scroll.obj slk.obj termattr.obj terminfo.obj \
56
+ touch.obj util.obj window.obj debug.obj
57
+
58
+ PDCOBJS = pdcclip.obj pdcdisp.obj pdcgetsc.obj pdckbd.obj pdcscrn.obj \
59
+ pdcsetsc.obj pdcutil.obj
60
+
61
+ DEMOOBJS = testcurs.obj ozdemo.obj newtest.obj xmas.obj tuidemo.obj \
62
+ tui.obj firework.obj ptest.obj rain.obj worm.obj
63
+
64
+ $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
65
+ $(PDCOBJS) : $(PDCURSES_DOS_H)
66
+ panel.obj ptest.obj: $(PANEL_HEADER)
67
+ terminfo.obj: $(TERM_HEADER)
68
+
69
+ $(DEMOOBJS) : $(PDCURSES_CURSES_H)
70
+ $(DEMOS) : $(LIBCURSES)
71
+
72
+ $(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
73
+ $(LIBEXE) -c $@ $(LIBOBJS) $(PDCOBJS)
74
+
75
+ SRCBUILD = $(BUILD) $(srcdir)\$*.c
76
+ OSBUILD = $(BUILD) $(osdir)\$*.c
77
+ DEMOBUILD = $(LINK) $(CPPFLAGS) -o+space $@ $**
78
+
79
+ addch.obj: $(srcdir)\addch.c
80
+ $(SRCBUILD)
81
+
82
+ addchstr.obj: $(srcdir)\addchstr.c
83
+ $(SRCBUILD)
84
+
85
+ addstr.obj: $(srcdir)\addstr.c
86
+ $(SRCBUILD)
87
+
88
+ attr.obj: $(srcdir)\attr.c
89
+ $(SRCBUILD)
90
+
91
+ beep.obj: $(srcdir)\beep.c
92
+ $(SRCBUILD)
93
+
94
+ bkgd.obj: $(srcdir)\bkgd.c
95
+ $(SRCBUILD)
96
+
97
+ border.obj: $(srcdir)\border.c
98
+ $(SRCBUILD)
99
+
100
+ clear.obj: $(srcdir)\clear.c
101
+ $(SRCBUILD)
102
+
103
+ color.obj: $(srcdir)\color.c
104
+ $(SRCBUILD)
105
+
106
+ delch.obj: $(srcdir)\delch.c
107
+ $(SRCBUILD)
108
+
109
+ deleteln.obj: $(srcdir)\deleteln.c
110
+ $(SRCBUILD)
111
+
112
+ deprec.obj: $(srcdir)\deprec.c
113
+ $(SRCBUILD)
114
+
115
+ getch.obj: $(srcdir)\getch.c
116
+ $(SRCBUILD)
117
+
118
+ getstr.obj: $(srcdir)\getstr.c
119
+ $(SRCBUILD)
120
+
121
+ getyx.obj: $(srcdir)\getyx.c
122
+ $(SRCBUILD)
123
+
124
+ inch.obj: $(srcdir)\inch.c
125
+ $(SRCBUILD)
126
+
127
+ inchstr.obj: $(srcdir)\inchstr.c
128
+ $(SRCBUILD)
129
+
130
+ initscr.obj: $(srcdir)\initscr.c
131
+ $(SRCBUILD)
132
+
133
+ inopts.obj: $(srcdir)\inopts.c
134
+ $(SRCBUILD)
135
+
136
+ insch.obj: $(srcdir)\insch.c
137
+ $(SRCBUILD)
138
+
139
+ insstr.obj: $(srcdir)\insstr.c
140
+ $(SRCBUILD)
141
+
142
+ instr.obj: $(srcdir)\instr.c
143
+ $(SRCBUILD)
144
+
145
+ kernel.obj: $(srcdir)\kernel.c
146
+ $(SRCBUILD)
147
+
148
+ keyname.obj: $(srcdir)\keyname.c
149
+ $(SRCBUILD)
150
+
151
+ mouse.obj: $(srcdir)\mouse.c
152
+ $(SRCBUILD)
153
+
154
+ move.obj: $(srcdir)\move.c
155
+ $(SRCBUILD)
156
+
157
+ outopts.obj: $(srcdir)\outopts.c
158
+ $(SRCBUILD)
159
+
160
+ overlay.obj: $(srcdir)\overlay.c
161
+ $(SRCBUILD)
162
+
163
+ pad.obj: $(srcdir)\pad.c
164
+ $(SRCBUILD)
165
+
166
+ panel.obj: $(srcdir)\panel.c
167
+ $(SRCBUILD)
168
+
169
+ printw.obj: $(srcdir)\printw.c
170
+ $(SRCBUILD)
171
+
172
+ refresh.obj: $(srcdir)\refresh.c
173
+ $(SRCBUILD)
174
+
175
+ scanw.obj: $(srcdir)\scanw.c
176
+ $(SRCBUILD)
177
+
178
+ scr_dump.obj: $(srcdir)\scr_dump.c
179
+ $(SRCBUILD)
180
+
181
+ scroll.obj: $(srcdir)\scroll.c
182
+ $(SRCBUILD)
183
+
184
+ slk.obj: $(srcdir)\slk.c
185
+ $(SRCBUILD)
186
+
187
+ termattr.obj: $(srcdir)\termattr.c
188
+ $(SRCBUILD)
189
+
190
+ terminfo.obj: $(srcdir)\terminfo.c
191
+ $(SRCBUILD)
192
+
193
+ touch.obj: $(srcdir)\touch.c
194
+ $(SRCBUILD)
195
+
196
+ util.obj: $(srcdir)\util.c
197
+ $(SRCBUILD)
198
+
199
+ window.obj: $(srcdir)\window.c
200
+ $(SRCBUILD)
201
+
202
+ debug.obj: $(srcdir)\debug.c
203
+ $(SRCBUILD)
204
+
205
+ pdcclip.obj: $(osdir)\pdcclip.c
206
+ $(OSBUILD)
207
+
208
+ pdcdisp.obj: $(osdir)\pdcdisp.c
209
+ $(OSBUILD)
210
+
211
+ pdcgetsc.obj: $(osdir)\pdcgetsc.c
212
+ $(OSBUILD)
213
+
214
+ pdckbd.obj: $(osdir)\pdckbd.c
215
+ $(OSBUILD)
216
+
217
+ pdcscrn.obj: $(osdir)\pdcscrn.c
218
+ $(OSBUILD)
219
+
220
+ pdcsetsc.obj: $(osdir)\pdcsetsc.c
221
+ $(OSBUILD)
222
+
223
+ pdcutil.obj: $(osdir)\pdcutil.c
224
+ $(OSBUILD)
225
+
226
+ firework.exe: $(demodir)\firework.c
227
+ $(DEMOBUILD)
228
+
229
+ ozdemo.exe: $(demodir)\ozdemo.c
230
+ $(DEMOBUILD)
231
+
232
+ newtest.exe: $(demodir)\newtest.c
233
+ $(DEMOBUILD)
234
+
235
+ ptest.exe: $(demodir)\ptest.c
236
+ $(DEMOBUILD)
237
+
238
+ rain.exe: $(demodir)\rain.c
239
+ $(DEMOBUILD)
240
+
241
+ testcurs.exe: $(demodir)\testcurs.c
242
+ $(DEMOBUILD) advapi32.lib
243
+
244
+ tuidemo.exe: tuidemo.obj tui.obj
245
+ $(DEMOBUILD)
246
+
247
+ worm.exe: $(demodir)\worm.c
248
+ $(DEMOBUILD)
249
+
250
+ xmas.exe: $(demodir)\xmas.c
251
+ $(DEMOBUILD)
252
+
253
+ tui.obj: $(demodir)\tui.c $(demodir)\tui.h
254
+ $(BUILD) -I$(demodir) $(demodir)\$*.c
255
+
256
+ tuidemo.obj: $(demodir)\tuidemo.c
257
+ $(BUILD) -I$(demodir) $(demodir)\$*.c
@@ -0,0 +1,113 @@
1
+ # NMAKE Makefile for PDCurses library - Microsoft C for DOS
2
+ #
3
+ # Usage: nmake -f [path\]Makefile.msc [DEBUG=] [target]
4
+ #
5
+ # where target can be any of:
6
+ # [all|demos|pdcurses.lib|testcurs.exe...]
7
+
8
+ # Change the memory MODEL here, if desired
9
+ MODEL = L # one of L, S, M, T, H, C
10
+ SIZE = LARGE # one of LARGE, SMALL, MEDIUM, TINY, HUGE, COMPACT
11
+
12
+ O = obj
13
+
14
+ !ifndef PDCURSES_SRCDIR
15
+ PDCURSES_SRCDIR = ..
16
+ !endif
17
+
18
+ !include $(PDCURSES_SRCDIR)\version.mif
19
+ !include $(PDCURSES_SRCDIR)\libobjs.mif
20
+
21
+ osdir = $(PDCURSES_SRCDIR)\dos
22
+
23
+ PDCURSES_DOS_H = $(osdir)\pdcdos.h
24
+
25
+ CC = cl
26
+
27
+ !ifdef DEBUG
28
+ CFLAGS = /Od /Zi /DPDCDEBUG
29
+ LDFLAGS = /CO /NOE /SE:160
30
+ !else
31
+ CFLAGS = /Ox
32
+ LDFLAGS = /NOE /SE:160
33
+ !endif
34
+
35
+ CPPFLAGS = -I$(PDCURSES_SRCDIR)
36
+
37
+ BUILD = $(CC) /J /nologo /c /D$(SIZE) /A$(MODEL) $(CFLAGS) $(CPPFLAGS)
38
+
39
+ LINK = link
40
+
41
+ CCLIBS =
42
+
43
+ LIBEXE = lib
44
+
45
+ LIBCURSES = pdcurses.lib
46
+
47
+ all: $(LIBCURSES) $(DEMOS)
48
+
49
+ clean:
50
+ -del *.obj
51
+ -del *.lib
52
+ -del *.exe
53
+
54
+ demos: $(DEMOS)
55
+
56
+ DEMOOBJS = $(DEMOS:.exe=.obj) tui.obj
57
+
58
+ $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
59
+ $(DEMOOBJS) : $(PDCURSES_CURSES_H)
60
+ $(DEMOS) : $(LIBCURSES)
61
+ panel.obj : $(PANEL_HEADER)
62
+ terminfo.obj: $(TERM_HEADER)
63
+
64
+ $(LIBCURSES) : $(LIBOBJS) $(PDCOBJS)
65
+ $(LIBEXE) $@ @$(osdir)\mscdos.lrf
66
+
67
+ {$(srcdir)\}.c{}.obj:
68
+ $(BUILD) $<
69
+
70
+ {$(osdir)\}.c{}.obj:
71
+ $(BUILD) $<
72
+
73
+ {$(demodir)\}.c{}.obj:
74
+ $(BUILD) $<
75
+
76
+ firework.exe: firework.obj
77
+ $(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
78
+
79
+ ozdemo.exe: ozdemo.obj
80
+ $(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
81
+
82
+ ptest.exe: ptest.obj
83
+ $(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
84
+
85
+ rain.exe: rain.obj
86
+ $(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
87
+
88
+ testcurs.exe: testcurs.obj
89
+ $(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
90
+
91
+ tuidemo.exe: tuidemo.obj tui.obj
92
+ $(LINK) $(LDFLAGS) $*.obj+tui.obj,$*,,$(LIBCURSES);
93
+
94
+ worm.exe: worm.obj
95
+ $(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
96
+
97
+ xmas.exe: xmas.obj
98
+ $(LINK) $(LDFLAGS) $*.obj,$*,,$(LIBCURSES);
99
+
100
+ ptest.obj: $(demodir)\ptest.c $(PANEL_HEADER)
101
+ $(BUILD) $(demodir)\ptest.c
102
+
103
+ tui.obj: $(demodir)\tui.c $(demodir)\tui.h
104
+ $(BUILD) -I$(demodir) $(demodir)\tui.c
105
+
106
+ tuidemo.obj: $(demodir)\tuidemo.c
107
+ $(BUILD) -I$(demodir) $(demodir)\tuidemo.c
108
+
109
+ PLATFORM1 = Microsoft C
110
+ PLATFORM2 = Microsoft C for DOS
111
+ ARCNAME = pdc$(VER)msc
112
+
113
+ !include $(PDCURSES_SRCDIR)\makedist.mif