home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / gnu / djgpp / contrib / libgrx / src / makefile.gcc < prev    next >
Encoding:
Makefile  |  1993-12-06  |  9.1 KB  |  351 lines

  1. #
  2. # MAKEFILE.GCC
  3. #   for building the DJGPP version of the GRX library
  4. #   usage: make [-DPLANE=<planes>] [-DMODEL=<Turbo C memory model>] [-DDEBUG]
  5. #
  6.  
  7. !if !$d(MODEL)
  8. MODEL = l
  9. !endif
  10.  
  11. !if $d(DEBUG)
  12. GCCDBG= -g -DDEBUG
  13. !endif
  14.  
  15. !if !$d(PLANE)
  16. PLANE = 255
  17. GCCLIB= ..\lib\libgrx.a
  18. GSTAMP= stamp.gcc
  19. !else
  20. GCCLIB= ..\lib\libgrx$(PLANE).a
  21. GSTAMP= stamp$(PLANE).gcc
  22. !endif
  23.  
  24. MODE_X= 32
  25. M_8514= 64
  26. M_S3=    128
  27.  
  28. #
  29. # compiler options
  30. #
  31. CPPOPT= -I../include -DGRXPLANES=$(PLANE)
  32. GCCOPT= -O -Wall $(CPPOPT) $(GCCDBG)
  33.  
  34. #
  35. # default rules:
  36. #    C -> ASM rules are there to look at the generated code
  37. #    when using inline assembly
  38. #
  39. .c.o:
  40.     gcc -c $(GCCOPT) $*.c
  41.  
  42. .c.oo:
  43.     gcc -c -Wall $(CPPOPT) $(GCCDBG) $*.c -o $*.oo
  44.  
  45. .c.s:
  46.     gcc -S $(GCCOPT) $*.c
  47.  
  48. .s.o:
  49.     gcc -c $*.s
  50.  
  51. #
  52. # default targets:
  53. #
  54. all:    $(GSTAMP) $(GCCLIB)
  55.  
  56. #
  57. # stamp files for keeping the objects consistent
  58. #
  59. $(GSTAMP): ../include/grx.h
  60.     -del *.o
  61.     -del *.oo
  62.     -del stamp*.gcc
  63.     echo stamp >$(GSTAMP)
  64.  
  65. #
  66. # objects for building the DJGPP library
  67. #
  68. GINIT=  layout.o     setmode.o      context.o    setclip.o    colors.o
  69.  
  70. GMISC=  fileutil.o   reslist.o      cursor.o     mouse.o        bestfont.o     \
  71.     gmalloc.o    vmalloc.o      makepat.o
  72.  
  73. GDRAW=  clear.o         plot.o      hline.o      vline.o        line.o     \
  74.     box.o         fillbox.o      frambox.o    circle.o        pixel.o     \
  75.     bitblt.o     drawpoly.o      fillpoly.o   patfbox.o    scancnvx.o     \
  76.     scanpoly.o   scanfill.o      scanpatt.o   fillcvxp.o   genellip.o     \
  77.     fillcirc.o   patfpoly.o      custcirc.o   \
  78.     patfcvxp.o   patfcirc.o      patfplot.o   patfline.o   \
  79.     solidln.o    solidpix.o      scanellp.o   polygon.o    thicklne.o     \
  80.     custline.o   custpoly.o      pattline.o   pattcirc.o   pattpoly.o
  81.  
  82. GUSER=  usercord.o   uplot.o      uline.o      uhline.o        uvline.o     \
  83.     ubox.o         ufillbox.o      uframbox.o   ucircle.o    upixel.o     \
  84.     ubestfnt.o   udrawtxt.o
  85.  
  86. GNCLIP= plotnc.o     linenc.o      vlinenc.o    hlinenc.o    boxnc.o     \
  87.     fillbxnc.o   frambxnc.o      pixelnc.o    bitbltnc.o
  88.  
  89. GTEXT=  drawtext.o   dumptext.o      loadfont.o   textsize.o   biosfont.o
  90.  
  91. #
  92. # DJGPP version specific modules
  93. #
  94. GCCAUX= lowmode.o    int10.o      int33.o      getkbsta.o
  95.  
  96. #
  97. # Event queue library objects
  98. #
  99. GEVENT= ../events/event32.o    ../events/nextevnt.o
  100.  
  101. #
  102. # low-level mode-dependent drivers
  103. #
  104. !if ($(PLANE) & 1)
  105. P1G=    p1pixrd.o    p1pixset.o   \
  106.     p1pixcol.o    p1pixrow.o   \
  107.     p1pixblk.o    p1bitblt.o   \
  108.     p1line.o    p1char.o     \
  109.     p1fillp.o
  110. !endif
  111.  
  112. !if ($(PLANE) & 4)
  113. P4G=    p4pixrd.oo    p4pixset.oo  \
  114.     p4pixrow.oo    p4pixcol.oo  \
  115.     p4pixblk.oo    p4bitblt.oo  \
  116.     p4line.oo    p4char.oo    \
  117.     p4fillp.oo    p4init.oo
  118. !endif
  119.  
  120. !if ($(PLANE) & ($(M_8514) | $(M_S3) | 8))
  121. P8G=    p8pixrd.o    p8pixset.o   \
  122.     p8pixrow.o    p8pixcol.o   \
  123.     p8pixblk.o    p8bitblt.o   \
  124.     p8line.o    p8char.o     \
  125.     p8fillp.o    p8init.o
  126. !endif
  127.  
  128. !if ($(PLANE) & 16)
  129. PHG=    phpixrd.o    phpixset.o   \
  130.     phpixrow.o    phpixcol.o   \
  131.     phpixblk.o    phbitblt.o   \
  132.     phline.o    phchar.o     \
  133.     phfillp.o    phinit.o
  134. !endif
  135.  
  136. !if ($(PLANE) & $(MODE_X))
  137. PXG=    pxpixrd.o    pxpixset.o   \
  138.     pxpixrow.o    pxpixcol.o   \
  139.     pxpixblk.o    pxbitblt.o   \
  140.     pxline.o    pxchar.o     \
  141.     pxfillp.o
  142. !endif
  143.  
  144. !if ($(PLANE) & ($(M_8514) | $(M_S3)))
  145. PIG=    pipixrd.o    pipixset.o   \
  146.     pipixrow.o    pipixcol.o   \
  147.     pipixblk.o    pibitblt.o   \
  148.     piline.o    pichar.o     \
  149.     pifillp.o    piinit.o
  150. !endif
  151.  
  152. !if ($(PLANE) & $(M_S3))
  153. PSG=    pschar.o    psfillp.o
  154. !endif
  155.  
  156. !if ($(PLANE) != 1)  && ($(PLANE) != 4)  && ($(PLANE) != 8)
  157. !if ($(PLANE) != 16) && ($(PLANE) != 32) && ($(PLANE) != 64)
  158. !if ($(PLANE) != 128)
  159. SWG=    swpixrd.o    swpixset.o   \
  160.     swpixrow.o    swpixcol.o   \
  161.     swpixblk.o    swbitblt.o   \
  162.     swline.o    swchar.o     \
  163.     swfillp.o    voiddrv.o
  164. !endif
  165. !endif
  166. !endif
  167.  
  168. #
  169. # build the DJGPP library
  170. #
  171. GCCOBJ= $(GINIT)    $(GMISC)    $(GDRAW)    $(GUSER)    $(GNCLIP)   \
  172.     $(GTEXT)    $(GCCAUX)    $(P1G)        $(P4G)    $(P8G)        \
  173.     $(PHG)        $(PXG)    $(PIG)        $(PSG)    $(SWG)        \
  174.     _todo.o
  175.  
  176. $(GCCLIB): $(GCCOBJ)
  177.     -del $(GCCLIB)
  178.     ar rvs $(GCCLIB) @&&!
  179.     $(GCCOBJ)
  180.     $(GEVENT)
  181. !
  182.  
  183.  
  184. #
  185. # dependencies
  186. #
  187. INC=          ../include
  188. GRX_H=          $(INC)/grx.h libgrx.h
  189. LINECLIP_H=   lineclip.h scale.h clipping.h
  190. USERCORD_H=   usercord.h scale.h
  191. P4_H=          $(GRX_H) p4.h vgaregs.h
  192. P8_H=          $(GRX_H) p8.h vgaregs.h
  193. P16_H=          $(GRX_H) p16.h
  194. P8514A_H=     $(GRX_H) p8514a.h reg8514a.h
  195.  
  196. bestfont.o:   $(GRX_H) $(INC)/grxfile.h gmalloc.h
  197. biosfont.o:   $(GRX_H) $(INC)/grxfont.h $(INC)/grxfile.h interrup.h
  198. bitblt.o:     $(GRX_H) clipping.h
  199. bitbltnc.o:   $(GRX_H)
  200. box.o:          $(GRX_H)
  201. boxnc.o:      $(GRX_H) fakeclip.h box.c
  202. circle.o:     $(GRX_H)
  203. clear.o:      $(GRX_H)
  204. colors.o:     $(GRX_H) interrup.h gmalloc.h reg8514a.h
  205. context.o:    $(GRX_H) clipping.h gmalloc.h
  206. cursor.o:     $(GRX_H) $(INC)/mousex.h gmalloc.h
  207. custcirc.o:   $(GRX_H) thicklne.h
  208. custline.o:   $(GRX_H) thicklne.h
  209. custpoly.o:   $(GRX_H) thicklne.h
  210. drawpoly.o:   $(GRX_H)
  211. drawtext.o:   $(GRX_H) $(INC)/grxfont.h clipping.h gmalloc.h memfill.h memcopy.h
  212. dumptext.o:   $(GRX_H) $(INC)/grxfont.h clipping.h
  213. fileutil.o:   $(GRX_H) $(INC)/grxfile.h
  214. fillbox.o:    $(GRX_H) clipping.h
  215. fillbxnc.o:   $(GRX_H) fakeclip.h fillbox.c
  216. fillcirc.o:   $(GRX_H)
  217. fillcvxp.o:   $(GRX_H)
  218. fillpoly.o:   $(GRX_H)
  219. frambox.o:    $(GRX_H)
  220. frambxnc.o:   $(GRX_H) fakeclip.h frambox.c
  221. genellip.o:   $(GRX_H)
  222. gmalloc.o:    gmalloc.h
  223. hline.o:      $(GRX_H) clipping.h
  224. hlinenc.o:    $(GRX_H) fakeclip.h hline.c
  225. layout.o:     $(GRX_H)
  226. line.o:          $(GRX_H) $(LINECLIP_H)
  227. linenc.o:     $(GRX_H) fakeclip.h line.c
  228. loadfont.o:   $(GRX_H) $(INC)/grxfile.h $(INC)/grxfont.h gmalloc.h
  229. makepat.o:    $(GRX_H)
  230. mouse.o:      $(GRX_H) $(INC)/mousex.h interrup.h clipping.h $(EVTINC)
  231. patfbox.o:    $(GRX_H) clipping.h
  232. patfcirc.o:   $(GRX_H)
  233. patfcvxp.o:   $(GRX_H)
  234. patfline.o:   $(GRX_H) $(LINECLIP_H)
  235. patfplot.o:   $(GRX_H) clipping.h
  236. patfpoly.o:   $(GRX_H)
  237. pattcirc.o:   $(GRX_H) thicklne.h
  238. pattline.o:   $(GRX_H) thicklne.h
  239. pattpoly.o:   $(GRX_H) thicklne.h
  240. pixel.o:      $(GRX_H) clipping.h
  241. pixelnc.o:    $(GRX_H) fakeclip.h pixel.c
  242. plot.o:          $(GRX_H) clipping.h
  243. plotnc.o:     $(GRX_H) fakeclip.h plot.c
  244. polygon.o:    $(GRX_H)
  245. reslist.o:    $(GRX_H) $(INC)/grxfile.h gmalloc.h
  246. scanellp.o:   $(GRX_H) clipping.h
  247. scancnvx.o:   $(GRX_H) clipping.h scale.h
  248. scanfill.o:   $(GRX_H) clipping.h
  249. scanpatt.o:   $(GRX_H) clipping.h
  250. scanpoly.o:   $(GRX_H) clipping.h scale.h gmalloc.h
  251. setclip.o:    $(GRX_H) clipping.h
  252. setmode.o:    $(GRX_H) $(INC)/grdriver.h
  253. solidln.o:    $(GRX_H) lineclip.h
  254. solidpix.o:   $(GRX_H) clipping.h
  255. textsize.o:   $(GRX_H) $(INC)/grxfont.h
  256. thicklne.o:   $(GRX_H) thicklne.h clipping.h
  257. ubestfnt.o:   $(GRX_H) scale.h
  258. ubox.o:          $(GRX_H) $(USERCORD_H)
  259. ucircle.o:    $(GRX_H) $(USERCORD_H)
  260. udrawtxt.o:   $(GRX_H) $(USERCORD_H)
  261. ufillbox.o:   $(GRX_H) $(USERCORD_H)
  262. uframbox.o:   $(GRX_H) $(USERCORD_H)
  263. uhline.o:     $(GRX_H) $(USERCORD_H)
  264. uline.o:      $(GRX_H) $(USERCORD_H)
  265. upixel.o:     $(GRX_H) $(USERCORD_H)
  266. uplot.o:      $(GRX_H) $(USERCORD_H)
  267. usercord.o:   $(GRX_H) $(USERCORD_H)
  268. uvline.o:     $(GRX_H) $(USERCORD_H)
  269. vline.o:      $(GRX_H) clipping.h
  270. vlinenc.o:    $(GRX_H) fakeclip.h vline.c
  271. vmalloc.o:    gmalloc.h
  272.  
  273. p1bitblt.o:   $(GRX_H)
  274. p1char.o:     $(GRX_H)
  275. p1fillp.o:    $(GRX_H)
  276. p1line.o:     $(GRX_H)
  277. p1pixblk.o:   $(GRX_H)
  278. p1pixcol.o:   $(GRX_H)
  279. p1pixrd.o:    $(GRX_H)
  280. p1pixrow.o:   $(GRX_H)
  281. p1pixset.o:   $(GRX_H)
  282.  
  283. p4init.oo:    $(P4_H) gmalloc.h $(INC)/grdriver.h
  284. p4bitblt.oo:  $(P4_H) memcopy.h bitcopy.h gmalloc.h
  285. p4char.oo:    $(P4_H) memfill.h memcopy.h bitdraw.h
  286. p4fillp.oo:   $(P4_H) memfill.h memcopy.h
  287. p4line.oo:    $(P4_H) bitdraw.h
  288. p4pixblk.oo:  $(P4_H) memfill.h memcopy.h
  289. p4pixcol.oo:  $(P4_H) memfill.h
  290. p4pixrd.oo:   $(P4_H)
  291. p4pixrow.oo:  $(P4_H) memfill.h memcopy.h
  292. p4pixset.oo:  $(P4_H)
  293.  
  294. p8init.o:     $(P8_H) $(INC)/grdriver.h
  295. p8bitblt.o:   $(P8_H) memcopy.h gmalloc.h
  296. p8char.o:     $(P8_H) bytedraw.h
  297. p8fillp.o:    $(P8_H) memcopy.h bytedraw.h gmalloc.h
  298. p8line.o:     $(P8_H) bytedraw.h
  299. p8pixblk.o:   $(P8_H) memfill.h
  300. p8pixcol.o:   $(P8_H) memfill.h
  301. p8pixrd.o:    $(P8_H)
  302. p8pixrow.o:   $(P8_H) memfill.h
  303. p8pixset.o:   $(P8_H)
  304.  
  305. piinit.o:     $(P8514A_H)
  306. pibitblt.o:   $(P8514A_H)
  307. pichar.o:     $(P8514A_H)
  308. pifillp.o:    $(P8514A_H)
  309. piline.o:     $(P8514A_H)
  310. pipixblk.o:   $(P8514A_H)
  311. pipixcol.o:   $(P8514A_H)
  312. pipixrd.o:    $(P8514A_H)
  313. pipixrow.o:   $(P8514A_H)
  314. pipixset.o:   $(P8514A_H)
  315.  
  316. pschar.o:     $(P8514A_H)
  317. psfillp.o:    $(P8514A_H)
  318.  
  319. pxbitblt.o:   $(GRX_H)
  320. pxchar.o:     $(GRX_H)
  321. pxfillp.o:    $(GRX_H)
  322. pxline.o:     $(GRX_H)
  323. pxpixblk.o:   $(GRX_H)
  324. pxpixcol.o:   $(GRX_H)
  325. pxpixrd.o:    $(GRX_H)
  326. pxpixrow.o:   $(GRX_H)
  327. pxpixset.o:   $(GRX_H)
  328.  
  329. swbitblt.o:   $(GRX_H)
  330. swchar.o:     $(GRX_H)
  331. swfillp.o:    $(GRX_H)
  332. swline.o:     $(GRX_H)
  333. swpixblk.o:   $(GRX_H)
  334. swpixcol.o:   $(GRX_H)
  335. swpixrd.o:    $(GRX_H)
  336. swpixrow.o:   $(GRX_H)
  337. swpixset.o:   $(GRX_H)
  338. voiddrv.o:    $(GRX_H)
  339.  
  340. phinit.o:     $(P16_H)
  341. phbitblt.o:   $(P16_H) memcopy.h gmalloc.h
  342. phchar.o:     $(P16_H) worddraw.h
  343. phfillp.o:    $(P16_H) memcopy.h worddraw.h
  344. phline.o:     $(P16_H) worddraw.h
  345. phpixblk.o:   $(P16_H) memfill.h
  346. phpixcol.o:   $(P16_H) memfill.h
  347. phpixrd.o:    $(P16_H)
  348. phpixrow.o:   $(P16_H) memfill.h
  349. phpixset.o:   $(P16_H)
  350.  
  351.