home *** CD-ROM | disk | FTP | other *** search
/ Kyūkyoku!! X68000 Emulator / X68000Book.dat / mac / OLS / X68000 / Ko-Window / kow142s.lzh / Makefile.src < prev   
Makefile  |  1995-09-09  |  7KB  |  261 lines

  1. /*
  2.     X680x0 Window System Ko-Window
  3.  
  4.     Makefile.src :
  5.         wsrv.x, wsrv30.x
  6.         wlib.a, sheet.a, libwin.a
  7. */
  8.  
  9. include    ../config.mk
  10. /*##############
  11. ##  cpu type  ##
  12. ##############*/
  13. #if CPU_68030
  14. CPU    = -m68020
  15. CCCPU    = $(CPU) -DX30=1
  16. ASMCPU    = $(CPU) -sX30=1
  17. SERVN    = wsrv30.x
  18. #else
  19. CPU    = -m68000
  20. CCCPU    = $(CPU) -DX30=0
  21. ASMCPU    = $(CPU) -sX30=0
  22. SERVN    = wsrv.x
  23. #endif    /* CPU_68030 */
  24. /*##############
  25. ## lib switch ##
  26. ##############*/
  27. #if LIB_LIBC
  28. CLIBS    = gnulib.a libc.a iocslib.l libiocs.a
  29. LIBFLAG    = -I$(LIBCINC) -DLIBC
  30. ALIBFLAG= -sXCflag=0
  31. WLIBN    = libwin.a
  32. SHLIBN    = sheet.a
  33. #else
  34. # if LIB_SUP
  35. CLIBS    = supalib.a mm_alib.a iocslib.l mstrlib.a gnulib.a
  36. LIBFLAG= -I$(XCINC) -DXC -DSUP=1
  37. # else
  38. CLIBS    = gnulib.a floatfnc.l iocslib.l clib.l
  39. LIBFLAG= -I$(XCINC) -DXC
  40. # endif
  41. ALIBFLAG= -sXCflag=1
  42. WLIBN    = wlib.a
  43. SHLIBN    = sheet.a
  44. #endif    /* LIB_LIBC */
  45. /*##############
  46. ## CRTCselect ##
  47. ##############*/
  48. CRTC    = -sCRTC=1
  49. #CRTC    = -sCRTC=0
  50. /*****************************************************************************/
  51. #if SRC_LINK
  52. LIBHOME    = ../wsrv
  53. #else
  54. LIBHOME    = .
  55. #endif
  56. SHEETLIB= sheetlib
  57. WINLIB    = wlib
  58. #if LIB_LIBC
  59. CC    = include=$(LIBCINC) $(COMPILER) $(CCCPU)
  60. AS    = include=$(LIBCINC) $(ASSEMBLER) $(ASMCPU)
  61. #else
  62. CC    = include=$(XCINC) $(COMPILER) $(CCCPU)
  63. AS    = include=$(XCINC) $(ASSEMBLER) $(ASMCPU)
  64. #endif
  65. LK    = $(LINKER) -l -x
  66. OPTFLG    = -O -fomit-frame-pointer -fstrength-reduce -fcombine-regs
  67. CFLAGS    = $(LIBFLAG) -I$(LIBHOME) -I$(KOINC) -Wall $(OPTFLG)
  68. ASFLAGS    = -u -i$(include) $(ALIBFLAG) -sPARTS=0
  69. LIBS    = $(CLIBS)
  70.  
  71.  
  72. /* wsrv-obj */
  73. WSOBJS    = wsrv.o move.o open.o readrc.o common.o stack.o error.o screen.o \
  74.     resource.o exec.o \
  75.     manager.o wsrvasm.o window.o simple.o title.o scroll.o \
  76.     KanjiStrlen.o \
  77.     $(WINLIB)/DrawSetClear.o $(WINLIB)/DrawSetLine.o \
  78.     $(WINLIB)/DrawSetSymbol.o $(WINLIB)/DrawSetPut.o \
  79.     $(WINLIB)/DrawSetPattern.o $(WINLIB)/DrawSetGraClear.o \
  80.     vram.o clipasm.o slider.o mouselib.o put.o putasm.o kanji.o \
  81.     kanjiasm.o execasm.o errorasm.o sysasm.o getevent.o fontfunc.o
  82.  
  83. /* wssheet-obj */
  84. WSLOBJS= SheetLine.o SheetOpenClose.o SheetLocal.o SheetPattern.o \
  85.     SheetScroll.o sline.o font.o SheetSymbol.o \
  86.     SheetClear.o SheetFill.o SheetCopy.o SheetMove.o SheetDot.o \
  87.     SheetCircle.o \
  88.     sbox.o sptn.o scopy.o fcopy.o scopyb.o scrollf.o scrollb.o \
  89.     fontasm.o super.o sdot.o
  90.  
  91. /* sheet-obj */
  92. SLOBJS    = $(WSLOBJS:%=$(SHEETLIB)/%)
  93.  
  94. /* wlib-obj */
  95. WLOBJS0    = WlibGetProcessInfo.o WlibGetVersion.o WlibLoadExec.o WlibMain.o \
  96.     WlibSendSignal.o WlibSetSignal.o \
  97.     wlibasm.o stacksize.o heap.o globalarg.o globalinit.o globalexit.o \
  98.     level.o \
  99.     DrawSetClear.o DrawSetLine.o DrawSetSymbol.o DrawSetPut.o \
  100.     DrawSetPattern.o DrawSetGraClear.o DrawSetGraLine.o DrawSetGraPut.o \
  101.     DrawSetDot.o DrawSetCircle.o DrawSetGraDot.o DrawSetGraCircle.o \
  102.     WinopScrollOpen.o WinopSendEvent.o WinopSendEventAll.o \
  103.     WinopSimpleOpen.o WinopTitleOpen.o WinopWindowClose.o \
  104.     WinopWindowDraw.o WinopWindowDrawAbs.o WinopWindowMove.o \
  105.     WinopWindowOpen.o WinopWindowPop.o \
  106.     WinopWindowPush.o WinopWindowRedraw.o WinopWindowResize.o \
  107.     WinopWindowScroll.o \
  108.     WingetSetAttr.o WingetSetHome.o WingetSetEventAttr.o \
  109.     WingetSetClientDat.o WingetGetEventAtt.o WingetGetSize.o \
  110.     WingetInner.o WingetGetClientDat.o WingetGetClientPtr.o \
  111.     WingetGetPosition.o WingetGetViewPos.o WingetGetScrPos.o \
  112.     WingetGetViewSize.o WingetGetHome.o WingetGetParent.o \
  113.     WingetGetNext.o WingetGetLast.o WingetGetChildTop.o \
  114.     WingetGetChildBtm.o WingetGetChild.o \
  115.     CorSetFontAddress.o CorGetFontAddress.o CorGetAttr.o \
  116.     CorGetScreenMode.o CorSetScreenMode.o CorGetScreenSize.o \
  117.     CorSetHenDsp.o \
  118.     CorSetGraphicOfs.o CorGetGraphicOfs.o CorSetManager.o \
  119.     WinmanScreenInit.o WinmanRootScroll.o WinmanGetRootScr.o \
  120.     WinmanScreenQuit.o WinmanSetPalet.o WinmanSetRootEvent.o \
  121.     WinmanSetBackPat.o WinmanSetFocus.o WinmanGetEventInfo.o \
  122.     WinmanCheckEventIn.o WinmanMouseCursor.o WinmanGetCommon.o \
  123.     WinmanResetCommon.o WinmanMoveOpe.o WinmanResizeOpe.o \
  124.     WinmanGetResource.o WinmanReadResource.o WinmanReadRC.o \
  125.     WinmanMemoryAlloc.o WinmanMemoryFree.o \
  126.     WgraphSetGraphicMo.o WgraphGetGraphicMo.o WgraphPaletInit.o
  127.  
  128. WLOBJS    = $(WLOBJS0:%=$(WINLIB)/%)
  129.  
  130. /*****************************************************************************/
  131.  
  132. all    : $(SERVN) $(WLIBN) $(SHLIBN)
  133.  
  134. #if SRC_LINK
  135. /* wssheet.a */
  136. %.o::$(LIBHOME)/$(SHEETLIB)/%.c
  137.     $(CC) $(CFLAGS) -DSHEETWSRV -c $< -o $@ -I$(LIBHOME)/$(SHEETLIB)
  138. %.o::$(LIBHOME)/$(SHEETLIB)/%.s
  139.     $(AS) $(ASFLAGS) $(CRTC) -sSHEETWSRV=1 $< -o $@
  140.  
  141. /* sheet.a */
  142. $(SHEETLIB)/%.o::$(LIBHOME)/$(SHEETLIB)/%.c
  143.     $(CC) $(CFLAGS) -DSHEETLIB -c $< -o $@ -I$(LIBHOME)/$(SHEETLIB)
  144. $(SHEETLIB)/%.o::$(LIBHOME)/$(SHEETLIB)/%.s
  145.     $(AS) $(ASFLAGS) -sCRTC=0 -sSHEETWSRV=0 $< -o $@
  146.  
  147. /* wlib.a */
  148. $(WINLIB)/%.o::$(LIBHOME)/$(WINLIB)/%.c
  149.     $(CC) $(CFLAGS) -c $< -o $@
  150. $(WINLIB)/%.o::$(LIBHOME)/$(WINLIB)/%.s
  151.     $(AS) $(ASFLAGS) $< -o $@
  152.  
  153. /* wsrv.x */
  154. %.o::$(LIBHOME)/%.c
  155.     $(CC) $(CFLAGS) -DSHEETWSRV -c $<
  156. %.o::$(LIBHOME)/%.s
  157.     $(AS) $(ASFLAGS) $<
  158. #else
  159. /* wssheet.a */
  160. %.o::$(SHEETLIB)/%.c
  161.     $(CC) $(CFLAGS) -DSHEETWSRV -c $< -o $@
  162. %.o::$(SHEETLIB)/%.s
  163.     $(AS) $(ASFLAGS) $(CRTC) -sSHEETWSRV=1 $< -o $@
  164.  
  165. /* sheet.a */
  166. $(SHEETLIB)/%.o::$(SHEETLIB)/%.c
  167.     $(CC) $(CFLAGS) -DSHEETLIB -c $< -o $@
  168. $(SHEETLIB)/%.o::$(SHEETLIB)/%.s
  169.     $(AS) $(ASFLAGS) -sCRTC=0 -sSHEETWSRV=0 $< -o $@
  170.  
  171. /* wlib.a */
  172. $(WINLIB)/%.o::$(WINLIB)/%.c
  173.     $(CC) $(CFLAGS) -c $< -o $@
  174. $(WINLIB)/%.o::$(WINLIB)/%.s
  175.     $(AS) $(ASFLAGS) $< -o $@
  176.  
  177. /* wsrv.x */
  178. %.o::%.c
  179.     $(CC) $(CFLAGS) -DSHEETWSRV -c $<
  180. %.o::%.s
  181.     $(AS) $(ASFLAGS) $<
  182.  
  183. wsrv.o:        wsrv.c id.h func.h
  184. WlibMain.o:    WlibMain.c id.h func.h
  185.  
  186. #endif /* SRC_LINK */
  187.  
  188. PARTSDIR= ../parts
  189. KanjiStrlen.o:
  190.     cp $(PARTSDIR)/$@ .
  191.  
  192. $(SERVN): $(WSOBJS) wssheet.a
  193.     $(LK) $^ $(LIBS) $(LKFLAGS) -o $@
  194.  
  195. wssheet.a: $(WSLOBJS)
  196.     ar $(TEMPDIR)$@ $^
  197.     @cp $(TEMPDIR)$@ .
  198.     @rm $(TEMPDIR)$@
  199.  
  200. $(SHLIBN): $(SLOBJS)
  201.     ar $(TEMPDIR)$@ $^
  202.     @cp $(TEMPDIR)$@ .
  203.     @rm $(TEMPDIR)$@
  204.  
  205. #if LIB_LIBC
  206. PATCHDIR = $(LIBHOME)/patch
  207. LIBCPATCH= _start.o _ma_new.o
  208. $(WLIBN): $(WLOBJS) $(LIBCPATCH:%=$(PATCHDIR)/%)
  209.     @ar $(TEMPDIR)$@ $^
  210.     @cp $(TEMPDIR)$@ .
  211.     @rm $(TEMPDIR)$@
  212. #else
  213. $(WLIBN): $(WLOBJS)
  214.     @ar $(TEMPDIR)$@ $^
  215.     @cp $(TEMPDIR)$@ .
  216.     @rm $(TEMPDIR)$@
  217. #endif
  218.  
  219. #if 0    /* memo */
  220. ## In/OutSuper
  221. # SheetLine.o: SheetLine.c
  222. # SheetPattern.o: SheetPattern.c
  223. # SheetScroll.o: SheetScroll.c
  224. # SheetSymbol.o: SheetSymbol.c
  225. # SheetClear.o: SheetClear.c
  226. # SheetFill.o: SheetFill.c
  227. # SheetCopy.o: SheetCopy.c
  228. # SheetMove.o: SheetMove.c
  229. # SheetDot.o: SheetDot.c
  230. # SheetCircle.o: SheetCircle.c
  231. # exec.o: exec.c
  232. # put.o : put.c
  233. #### CRTC  ON/OFF
  234. # sbox.o:    CRTCmode.mac
  235. # sptn.o:    CRTCmode.mac
  236. # scopy.o:    CRTCmode.mac
  237. ##scrollb.o:    CRTCmode.mac
  238. #endif
  239.  
  240. clean:
  241.     rm *.o $(SHEETLIB)//**/*.o $(WINLIB)//**/*.o *.a *.x
  242. cleanlib:
  243.     rm $(SHEETLIB)//**/*.o $(WINLIB)//**/*.o *.a
  244. make:
  245.     $(MAKE) -f ../Makefile $(SERVN)
  246.  
  247. /*################
  248. ## install dirs ##
  249. ################*/
  250. #if CPU_68030
  251. install: $(SERVN)
  252.     installcp $(SERVN) $(BINDIR)
  253. #else
  254. install: $(SERVN) $(WLIBN)
  255.     installcp $(SERVN) $(BINDIR)
  256.     installcp $(WLIBN) $(LIBDIR)
  257.     installcp wlib.h   $(INCDIR)
  258. #endif
  259.  
  260. /*:vi:se ts=8 sw=8:*/
  261.