makefile.bcc 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. # Makefile for Independent JPEG Group's software
  2. # This makefile is suitable for Borland C on MS-DOS or OS/2.
  3. # It works with Borland C++ for DOS, revision 3.0 or later,
  4. # and has been tested with Borland C++ for OS/2.
  5. # Watch out for optimization bugs in the OS/2 compilers --- see notes below!
  6. # Thanks to Tom Wright and Ge' Weijers (original DOS) and
  7. # Ken Porter (OS/2) for this file.
  8. # Read installation instructions before saying "make" !!
  9. # Are we under DOS or OS/2?
  10. !if !$d(DOS) && !$d(OS2)
  11. !if $d(__OS2__)
  12. OS2=1
  13. !else
  14. DOS=1
  15. !endif
  16. !endif
  17. # The name of your C compiler:
  18. CC= bcc
  19. # You may need to adjust these cc options:
  20. !if $d(DOS)
  21. CFLAGS= -O2 -mm -w-par -w-stu -w-ccc -w-rch
  22. !else
  23. CFLAGS= -O1 -w-par -w-stu -w-ccc -w-rch
  24. !endif
  25. # -O2 enables full code optimization (for pre-3.0 Borland C++, use -O -G -Z).
  26. # -O2 is buggy in Borland OS/2 C++ revision 2.0, so use -O1 there for now.
  27. # If you have Borland OS/2 C++ revision 1.0, use -O or no optimization at all.
  28. # -mm selects medium memory model (near data, far code pointers; DOS only!)
  29. # -w-par suppresses warnings about unused function parameters
  30. # -w-stu suppresses warnings about incomplete structures
  31. # -w-ccc suppresses warnings about compile-time-constant conditions
  32. # -w-rch suppresses warnings about unreachable code
  33. # Generally, we recommend defining any configuration symbols in jconfig.h,
  34. # NOT via -D switches here.
  35. # Link-time cc options:
  36. !if $d(DOS)
  37. LDFLAGS= -mm
  38. # memory model option here must match CFLAGS!
  39. !else
  40. LDFLAGS=
  41. # -lai full-screen app
  42. # -lc case-significant link
  43. !endif
  44. # Put here the object file name for the correct system-dependent memory
  45. # manager file.
  46. # For DOS, we recommend jmemdos.c and jmemdosa.asm.
  47. # For OS/2, we recommend jmemnobs.c (flat memory!)
  48. # SYSDEPMEMLIB must list the same files with "+" signs for the librarian.
  49. !if $d(DOS)
  50. SYSDEPMEM= jmemdos.obj jmemdosa.obj
  51. SYSDEPMEMLIB= +jmemdos.obj +jmemdosa.obj
  52. !else
  53. SYSDEPMEM= jmemnobs.obj
  54. SYSDEPMEMLIB= +jmemnobs.obj
  55. !endif
  56. # End of configurable options.
  57. # source files: JPEG library proper
  58. LIBSOURCES= jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \
  59. jcdctmgr.c jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c \
  60. jcomapi.c jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c \
  61. jdapistd.c jdarith.c jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c \
  62. jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c jdmaster.c \
  63. jdmerge.c jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c \
  64. jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jquant1.c \
  65. jquant2.c jutils.c jmemmgr.c
  66. # memmgr back ends: compile only one of these into a working library
  67. SYSDEPSOURCES= jmemansi.c jmemname.c jmemnobs.c jmemdos.c jmemmac.c
  68. # source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom
  69. APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \
  70. rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \
  71. rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c
  72. SOURCES= $(LIBSOURCES) $(SYSDEPSOURCES) $(APPSOURCES)
  73. # files included by source files
  74. INCLUDES= jdct.h jerror.h jinclude.h jmemsys.h jmorecfg.h jpegint.h \
  75. jpeglib.h jversion.h cdjpeg.h cderror.h transupp.h
  76. # documentation, test, and support files
  77. DOCS= README install.txt usage.txt cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 \
  78. wrjpgcom.1 wizard.txt example.c libjpeg.txt structure.txt \
  79. coderules.txt filelist.txt change.log
  80. MKFILES= configure Makefile.in makefile.ansi makefile.unix makefile.bcc \
  81. makefile.mc6 makefile.dj makefile.wat makefile.vc makejdsw.vc6 \
  82. makeadsw.vc6 makejdep.vc6 makejdsp.vc6 makejmak.vc6 makecdep.vc6 \
  83. makecdsp.vc6 makecmak.vc6 makeddep.vc6 makeddsp.vc6 makedmak.vc6 \
  84. maketdep.vc6 maketdsp.vc6 maketmak.vc6 makerdep.vc6 makerdsp.vc6 \
  85. makermak.vc6 makewdep.vc6 makewdsp.vc6 makewmak.vc6 makejsln.vc9 \
  86. makeasln.vc9 makejvcp.vc9 makecvcp.vc9 makedvcp.vc9 maketvcp.vc9 \
  87. makervcp.vc9 makewvcp.vc9 makeproj.mac makcjpeg.st makdjpeg.st \
  88. makljpeg.st maktjpeg.st makefile.manx makefile.sas makefile.mms \
  89. makefile.vms makvms.opt
  90. CONFIGFILES= jconfig.cfg jconfig.bcc jconfig.mc6 jconfig.dj jconfig.wat \
  91. jconfig.vc jconfig.mac jconfig.st jconfig.manx jconfig.sas \
  92. jconfig.vms
  93. CONFIGUREFILES= config.guess config.sub install-sh ltmain.sh depcomp missing
  94. OTHERFILES= jconfig.txt ckconfig.c ansi2knr.c ansi2knr.1 jmemdosa.asm \
  95. libjpeg.map
  96. TESTFILES= testorig.jpg testimg.ppm testimg.bmp testimg.jpg testprog.jpg \
  97. testimgp.jpg
  98. DISTFILES= $(DOCS) $(MKFILES) $(CONFIGFILES) $(SOURCES) $(INCLUDES) \
  99. $(CONFIGUREFILES) $(OTHERFILES) $(TESTFILES)
  100. # library object files common to compression and decompression
  101. COMOBJECTS= jaricom.obj jcomapi.obj jutils.obj jerror.obj jmemmgr.obj $(SYSDEPMEM)
  102. # compression library object files
  103. CLIBOBJECTS= jcapimin.obj jcapistd.obj jcarith.obj jctrans.obj jcparam.obj \
  104. jdatadst.obj jcinit.obj jcmaster.obj jcmarker.obj jcmainct.obj \
  105. jcprepct.obj jccoefct.obj jccolor.obj jcsample.obj jchuff.obj \
  106. jcdctmgr.obj jfdctfst.obj jfdctflt.obj jfdctint.obj
  107. # decompression library object files
  108. DLIBOBJECTS= jdapimin.obj jdapistd.obj jdarith.obj jdtrans.obj jdatasrc.obj \
  109. jdmaster.obj jdinput.obj jdmarker.obj jdhuff.obj jdmainct.obj \
  110. jdcoefct.obj jdpostct.obj jddctmgr.obj jidctfst.obj jidctflt.obj \
  111. jidctint.obj jdsample.obj jdcolor.obj jquant1.obj jquant2.obj \
  112. jdmerge.obj
  113. # These objectfiles are included in libjpeg.lib
  114. LIBOBJECTS= $(CLIBOBJECTS) $(DLIBOBJECTS) $(COMOBJECTS)
  115. # object files for sample applications (excluding library files)
  116. COBJECTS= cjpeg.obj rdppm.obj rdgif.obj rdtarga.obj rdrle.obj rdbmp.obj \
  117. rdswitch.obj cdjpeg.obj
  118. DOBJECTS= djpeg.obj wrppm.obj wrgif.obj wrtarga.obj wrrle.obj wrbmp.obj \
  119. rdcolmap.obj cdjpeg.obj
  120. TROBJECTS= jpegtran.obj rdswitch.obj cdjpeg.obj transupp.obj
  121. all: libjpeg.lib cjpeg.exe djpeg.exe jpegtran.exe rdjpgcom.exe wrjpgcom.exe
  122. libjpeg.lib: $(LIBOBJECTS)
  123. - del libjpeg.lib
  124. tlib libjpeg.lib /E /C @&&|
  125. +jcapimin.obj +jcapistd.obj +jcarith.obj +jctrans.obj +jcparam.obj &
  126. +jdatadst.obj +jcinit.obj +jcmaster.obj +jcmarker.obj +jcmainct.obj &
  127. +jcprepct.obj +jccoefct.obj +jccolor.obj +jcsample.obj +jchuff.obj &
  128. +jcdctmgr.obj +jfdctfst.obj +jfdctflt.obj +jfdctint.obj +jdapimin.obj &
  129. +jdapistd.obj +jdarith.obj +jdtrans.obj +jdatasrc.obj +jdmaster.obj &
  130. +jdinput.obj +jdmarker.obj +jdhuff.obj +jdmainct.obj +jdcoefct.obj &
  131. +jdpostct.obj +jddctmgr.obj +jidctfst.obj +jidctflt.obj +jidctint.obj &
  132. +jdsample.obj +jdcolor.obj +jquant1.obj +jquant2.obj +jdmerge.obj &
  133. +jaricom.obj +jcomapi.obj +jutils.obj +jerror.obj +jmemmgr.obj &
  134. $(SYSDEPMEMLIB)
  135. |
  136. cjpeg.exe: $(COBJECTS) libjpeg.lib
  137. $(CC) $(LDFLAGS) -ecjpeg.exe $(COBJECTS) libjpeg.lib
  138. djpeg.exe: $(DOBJECTS) libjpeg.lib
  139. $(CC) $(LDFLAGS) -edjpeg.exe $(DOBJECTS) libjpeg.lib
  140. jpegtran.exe: $(TROBJECTS) libjpeg.lib
  141. $(CC) $(LDFLAGS) -ejpegtran.exe $(TROBJECTS) libjpeg.lib
  142. rdjpgcom.exe: rdjpgcom.c
  143. !if $d(DOS)
  144. $(CC) -ms -O rdjpgcom.c
  145. !else
  146. $(CC) $(CFLAGS) rdjpgcom.c
  147. !endif
  148. # On DOS, wrjpgcom needs large model so it can malloc a 64K chunk
  149. wrjpgcom.exe: wrjpgcom.c
  150. !if $d(DOS)
  151. $(CC) -ml -O wrjpgcom.c
  152. !else
  153. $(CC) $(CFLAGS) wrjpgcom.c
  154. !endif
  155. # This "{}" syntax allows Borland Make to "batch" source files.
  156. # In this way, each run of the compiler can build many modules.
  157. .c.obj:
  158. $(CC) $(CFLAGS) -c{ $<}
  159. jconfig.h: jconfig.txt
  160. echo You must prepare a system-dependent jconfig.h file.
  161. echo Please read the installation directions in install.txt.
  162. exit 1
  163. clean:
  164. - del *.obj
  165. - del libjpeg.lib
  166. - del cjpeg.exe
  167. - del djpeg.exe
  168. - del jpegtran.exe
  169. - del rdjpgcom.exe
  170. - del wrjpgcom.exe
  171. - del testout*.*
  172. test: cjpeg.exe djpeg.exe jpegtran.exe
  173. - del testout*.*
  174. djpeg -dct int -ppm -outfile testout.ppm testorig.jpg
  175. djpeg -dct int -bmp -colors 256 -outfile testout.bmp testorig.jpg
  176. cjpeg -dct int -outfile testout.jpg testimg.ppm
  177. djpeg -dct int -ppm -outfile testoutp.ppm testprog.jpg
  178. cjpeg -dct int -progressive -opt -outfile testoutp.jpg testimg.ppm
  179. jpegtran -outfile testoutt.jpg testprog.jpg
  180. !if $d(DOS)
  181. fc /b testimg.ppm testout.ppm
  182. fc /b testimg.bmp testout.bmp
  183. fc /b testimg.jpg testout.jpg
  184. fc /b testimg.ppm testoutp.ppm
  185. fc /b testimgp.jpg testoutp.jpg
  186. fc /b testorig.jpg testoutt.jpg
  187. !else
  188. echo n > n.tmp
  189. comp testimg.ppm testout.ppm < n.tmp
  190. comp testimg.bmp testout.bmp < n.tmp
  191. comp testimg.jpg testout.jpg < n.tmp
  192. comp testimg.ppm testoutp.ppm < n.tmp
  193. comp testimgp.jpg testoutp.jpg < n.tmp
  194. comp testorig.jpg testoutt.jpg < n.tmp
  195. del n.tmp
  196. !endif
  197. jaricom.obj: jaricom.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  198. jcapimin.obj: jcapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  199. jcapistd.obj: jcapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  200. jcarith.obj: jcarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  201. jccoefct.obj: jccoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  202. jccolor.obj: jccolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  203. jcdctmgr.obj: jcdctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
  204. jchuff.obj: jchuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  205. jcinit.obj: jcinit.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  206. jcmainct.obj: jcmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  207. jcmarker.obj: jcmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  208. jcmaster.obj: jcmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  209. jcomapi.obj: jcomapi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  210. jcparam.obj: jcparam.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  211. jcprepct.obj: jcprepct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  212. jcsample.obj: jcsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  213. jctrans.obj: jctrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  214. jdapimin.obj: jdapimin.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  215. jdapistd.obj: jdapistd.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  216. jdarith.obj: jdarith.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  217. jdatadst.obj: jdatadst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
  218. jdatasrc.obj: jdatasrc.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h
  219. jdcoefct.obj: jdcoefct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  220. jdcolor.obj: jdcolor.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  221. jddctmgr.obj: jddctmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
  222. jdhuff.obj: jdhuff.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  223. jdinput.obj: jdinput.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  224. jdmainct.obj: jdmainct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  225. jdmarker.obj: jdmarker.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  226. jdmaster.obj: jdmaster.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  227. jdmerge.obj: jdmerge.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  228. jdpostct.obj: jdpostct.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  229. jdsample.obj: jdsample.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  230. jdtrans.obj: jdtrans.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  231. jerror.obj: jerror.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jversion.h jerror.h
  232. jfdctflt.obj: jfdctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
  233. jfdctfst.obj: jfdctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
  234. jfdctint.obj: jfdctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
  235. jidctflt.obj: jidctflt.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
  236. jidctfst.obj: jidctfst.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
  237. jidctint.obj: jidctint.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jdct.h
  238. jquant1.obj: jquant1.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  239. jquant2.obj: jquant2.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  240. jutils.obj: jutils.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
  241. jmemmgr.obj: jmemmgr.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
  242. jmemansi.obj: jmemansi.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
  243. jmemname.obj: jmemname.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
  244. jmemnobs.obj: jmemnobs.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
  245. jmemdos.obj: jmemdos.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
  246. jmemmac.obj: jmemmac.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h jmemsys.h
  247. cjpeg.obj: cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
  248. djpeg.obj: djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h
  249. jpegtran.obj: jpegtran.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h transupp.h jversion.h
  250. rdjpgcom.obj: rdjpgcom.c jinclude.h jconfig.h
  251. wrjpgcom.obj: wrjpgcom.c jinclude.h jconfig.h
  252. cdjpeg.obj: cdjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  253. rdcolmap.obj: rdcolmap.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  254. rdswitch.obj: rdswitch.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  255. transupp.obj: transupp.c jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h transupp.h
  256. rdppm.obj: rdppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  257. wrppm.obj: wrppm.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  258. rdgif.obj: rdgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  259. wrgif.obj: wrgif.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  260. rdtarga.obj: rdtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  261. wrtarga.obj: wrtarga.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  262. rdbmp.obj: rdbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  263. wrbmp.obj: wrbmp.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  264. rdrle.obj: rdrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  265. wrrle.obj: wrrle.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h
  266. jmemdosa.obj: jmemdosa.asm
  267. tasm /mx jmemdosa.asm