home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / evbl0627.zip / everblue_20010627.zip / x11 / makefile < prev    next >
Makefile  |  2001-05-21  |  10KB  |  255 lines

  1. ##################################################################
  2. #
  3. # Xlib for Presentation Manager
  4. #
  5. ##################################################################
  6.  
  7. CC=gcc
  8. AS=as
  9. MKLIB=ar r
  10. MAKE=make
  11. CP=cp
  12. RM=rm -f
  13. RC=rc
  14.  
  15. .SUFFIXES: .c .obj
  16.  
  17. XDEFS=-DXLIB_ILLEGAL_ACCESS -DXKB
  18. CDEFS=-DHAVE_SETSYSERRNO -DPTHREAD_RTL -DOS2I18N -DX_LOCALE
  19. CFLAGS=-Zmt -Zomf -O3 -mpentium -Wall $(CDEFS) $(XDEFS)
  20. DLLFLAGS=-Zdll -Zcrtdll=pthrdrtl -Zbsd-signals $(CFLAGS) -s
  21. EXEFLAGS=-Zexe -Zcrtdll=pthrdrtl -Zbsd-signals $(CFLAGS) -s
  22.  
  23. # Uncomment the following lines to build a debug version.
  24. # Will require ICSDEBUG or SD386 to debug in OMF mode
  25.  
  26. CDEFS=-DHAVE_SETSYSERRNO -DPTHREAD_RTL -DDEBUG -DOS2I18N -DX_LOCALE
  27. CFLAGS=-Zmt -Zomf -O -g -Wall $(CDEFS) $(XDEFS)
  28. DLLFLAGS=-Zdll -Zcrtdll=pthrdrtl -Zbsd-signals $(CFLAGS)
  29. EXEFLAGS=-Zexe -Zbsd-signals $(CFLAGS)
  30.  
  31. ##################################################################
  32.  
  33. HEADER=Xlib.h Xlib_private.h
  34.  
  35. LIB_RES=X11.res
  36. LIB_DLL=X11.dll
  37. LIB_DEF=X11.def
  38. LIB_OUT=X11.lib
  39. EXELIBS=-L. -lX11 -lbsd
  40. EXESLIB=-L. -lX11_s -lbsd
  41.  
  42. HK_DLL=X11pmhk.dll
  43. HK_DEF=X11pmhk.def
  44.  
  45. SLIB_OMF=X11_s.lib
  46.  
  47. XLIB_SRC=\
  48.     Xlib_OpenDisplay.c Xlib_CreateWindow.c Xlib_CreateGC.c \
  49.     Xlib_pmctls.c Xlib_Protocol.c Xlib_NextEvent.c Xlib_Atom.c \
  50.     Xlib_ResizeWindow.c Xlib_DrawLine.c Xlib_misc.c Xlib_simple.c \
  51.     Xlib_Text.c Xlib_Free.c Xlib_evtomask.c Xlib_Keyboard.c \
  52.     Xlib_TextExt.c Xlib_PropAlloc.c Xlib_DrawPoly.c Xlib_PutImage.c \
  53.     Xlib_CrBFData.c Xlib_CrPFBData.c Xlib_WrBitF.c Xlib_RegstFlt.c \
  54.     Xlib_Region.c Xlib_PolyReg.c Xlib_SetCRects.c Xlib_FilterEv.c \
  55.     Xlib_CrPixmap.c Xlib_InitExt.c Xlib_Context.c Xlib_ErrHndlr.c \
  56.     Xlib_GetGCVals.c Xlib_WMProps.c Xlib_WMGeom.c Xlib_SetTxtProp.c \
  57.     Xlib_SetWMProto.c Xlib_SetHints.c Xlib_SetNrmHint.c Xlib_Cursor.c \
  58.     Xlib_LookupCol.c Xlib_GetColor.c Xlib_Pointer.c Xlib_FontNames.c \
  59.     Xlib_Property.c Xlib_StrToText.c Xlib_ImUtil.c Xlib_Grab.c \
  60.     Xlib_GetImage.c Xlib_Geom.c Xlib_ParseGeom.c Xlib_GetHints.c \
  61.     Xlib_Synchro.c Xlib_TextToStr.c Xlib_FontAlias.c Xlib_SetFont.c \
  62.     Xlib_LoadFont.c Xlib_FSWrap.c Xlib_ReconfWin.c Xlib_QuColors.c \
  63.     Xlib_QuColor.c Xlib_GetFProp.c Xlib_ChangeGC.c Xlib_ChWAttrs.c \
  64.     Xlib_Depths.c Xlib_CopyArea.c Xlib_CopyPlane.c Xlib_CopyGC.c \
  65.     Xlib_KeyBind.c Xlib_ModMap.c Xlib_QuExt.c Xlib_PMWM.c \
  66.     Xlib_Border.c Xlib_BorderWidth.c Xlib_uconv.c Xlib_TrCoords.c \
  67.     Xlib_Colormap.c Xlib_QuTree.c Xlib_VisUtil.c Xlib_GetWAttrs.c \
  68.     Xlib_StBytes.c Xlib_RotProp.c Xlib_RdBitF.c Xlib_Focus.c \
  69.     Xlib_PixFormats.c Xlib_ScrnSav.c Xlib_ListExt.c Xlib_QryBest.c \
  70.     Xlib_ParseCol.c Xlib_StName.c Xlib_GCMisc.c Xlib_pmatms.c \
  71.     Xlib_SetStip.c Xlib_GetWMCMapW.c Xlib_Geometry.c Xlib_mbWMProps.c \
  72.         Xlib_imLcGIc.c Xlib_FetchName.c Xlib_GContextFromGC.c \
  73.     Xlib_GetTextProperty.c Xlib_GetMotionEvents.c Xlib_GetIconName.c \
  74.     Xlib_LockDisplay.c Xlib_RecolorCursor.c Xlib_FreeCursor.c \
  75.     Xlib_FreeFontInfo.c Xlib_FreeFontPath.c Xlib_WarpPointer.c \
  76.     Xlib_UninstallColormap.c Xlib_SetClipMask.c Xlib_SetClOrig.c \
  77.     Xlib_Stubs.c
  78.  
  79. XRM_SRC=\
  80.     Xrm_Core.c Xrm_Quarks.c Xrm_Defaults.c Xrm_ParseCmd.c
  81.  
  82. XLC_SRC=\
  83.     Xlc_Init.c Xlc_Wrap.c Xlc_GenConv.c Xlc_DefConv.c Xlc_CT.c \
  84.     Xlc_SetLocale.c Xlc_CharSet.c Xlc_Std.c Xlc_PubWrap.c \
  85.     Xlc_Conv.c Xlc_Public.c Xlc_File.c Xlc_DB.c Xlc_Generic.c \
  86.     Xlc_PrTxt.c Xlc_TxtPr.c Xlc_Util.c Xlc_RM.c Xlc_UTF.c \
  87.     Xom_Default.c Xom_Generic.c Xom_ImText.c Xom_Text.c Xom_Wrap.c \
  88.     Xom_TextEsc.c Xom_TextExt.c Xom_TextPer.c Xom_XChar.c \
  89.     Xoc_Wrap.c Xic_Wrap.c Xmb_Wrap.c Xwc_Wrap.c \
  90.     Xim_Wrap.c Xim_Core.c Xim_Conv.c Xim_ImSw.c Xim_TransR.c Xim_Rm.c \
  91.     Xim_LcIm.c Xim_ThaiIm.c Xim_DefIm.c Xim_LcLkup.c Xim_LcPrs.c \
  92.     Xim_LcIc.c Xim_LcFlt.c
  93.  
  94. XCMS_SRC=\
  95.     Xcms_ColNm.c Xcms_QRed.c Xcms_QGreen.c Xcms_QBlue.c Xcms_Int.c \
  96.     Xcms_Globals.c Xcms_LRGB.c Xcms_UNDEF.c Xcms_XYZ.c Xcms_uvY.c \
  97.     Xcms_xyY.c Xcms_Lab.c Xcms_Luv.c Xcms_HVC.c Xcms_XRGB.c \
  98.     Xcms_CvCols.c Xcms_Cmap.c Xcms_QuCols.c Xcms_SetGetCols.c \
  99.     Xcms_CCC.c Xcms_SetCCC.c Xcms_Trig.c Xcms_Math.c
  100.  
  101. XKBD_SRC=\
  102.     XKB.c XKBAlloc.c XKBBell.c XKBCompat.c XKBCtrls.c XKBCvt.c \
  103.     XKBExtDev.c XKBGAlloc.c XKBGeom.c XKBGetByName.c XKBGetMap.c \
  104.     XKBleds.c XKBList.c XKBMAlloc.c XKBMisc.c XKBNames.c XKBRdBuf.c \
  105.     XKBSetGeom.c XKBSetMap.c XKBUse.c XKBBind.c
  106.  
  107. XLIB_OMF=xlib_s.lib
  108. XLIB_OBJ=\
  109.     Xlib_OpenDisplay.obj Xlib_CreateWindow.obj Xlib_CreateGC.obj \
  110.     Xlib_pmctls.obj Xlib_Protocol.obj Xlib_NextEvent.obj Xlib_Atom.obj \
  111.     Xlib_ResizeWindow.obj Xlib_DrawLine.obj Xlib_misc.obj Xlib_simple.obj \
  112.     Xlib_Text.obj Xlib_Free.obj Xlib_evtomask.obj Xlib_Keyboard.obj \
  113.     Xlib_TextExt.obj Xlib_PropAlloc.obj Xlib_DrawPoly.obj Xlib_PutImage.obj \
  114.     Xlib_CrBFData.obj Xlib_CrPFBData.obj Xlib_WrBitF.obj Xlib_RegstFlt.obj \
  115.     Xlib_Region.obj Xlib_PolyReg.obj Xlib_SetCRects.obj Xlib_FilterEv.obj \
  116.     Xlib_CrPixmap.obj Xlib_InitExt.obj Xlib_Context.obj Xlib_ErrHndlr.obj \
  117.     Xlib_GetGCVals.obj Xlib_WMProps.obj Xlib_WMGeom.obj Xlib_SetTxtProp.obj \
  118.     Xlib_SetWMProto.obj Xlib_SetHints.obj Xlib_SetNrmHint.obj Xlib_Cursor.obj \
  119.     Xlib_LookupCol.obj Xlib_GetColor.obj Xlib_Pointer.obj Xlib_FontNames.obj \
  120.     Xlib_Property.obj Xlib_StrToText.obj Xlib_ImUtil.obj Xlib_Grab.obj \
  121.     Xlib_GetImage.obj Xlib_Geom.obj Xlib_ParseGeom.obj Xlib_GetHints.obj \
  122.     Xlib_Synchro.obj Xlib_TextToStr.obj Xlib_FontAlias.obj Xlib_SetFont.obj \
  123.     Xlib_LoadFont.obj Xlib_FSWrap.obj Xlib_ReconfWin.obj Xlib_QuColors.obj \
  124.     Xlib_QuColor.obj Xlib_GetFProp.obj Xlib_ChangeGC.obj Xlib_ChWAttrs.obj \
  125.     Xlib_Depths.obj Xlib_CopyArea.obj Xlib_CopyPlane.obj Xlib_CopyGC.obj \
  126.     Xlib_KeyBind.obj Xlib_ModMap.obj Xlib_QuExt.obj Xlib_PMWM.obj \
  127.     Xlib_Border.obj Xlib_BorderWidth.obj Xlib_uconv.obj Xlib_TrCoords.obj \
  128.     Xlib_Colormap.obj Xlib_QuTree.obj Xlib_VisUtil.obj Xlib_GetWAttrs.obj \
  129.     Xlib_StBytes.obj Xlib_RotProp.obj Xlib_RdBitF.obj Xlib_Focus.obj \
  130.     Xlib_PixFormats.obj Xlib_ScrnSav.obj Xlib_ListExt.obj Xlib_QryBest.obj \
  131.     Xlib_ParseCol.obj Xlib_StName.obj Xlib_GCMisc.obj Xlib_pmatms.obj \
  132.     Xlib_SetStip.obj Xlib_GetWMCMapW.obj Xlib_Geometry.obj Xlib_mbWMProps.obj \
  133.         Xlib_imLcGIc.obj Xlib_FetchName.obj Xlib_GContextFromGC.obj \
  134.     Xlib_GetTextProperty.obj Xlib_GetMotionEvents.obj Xlib_GetIconName.obj \
  135.     Xlib_LockDisplay.obj Xlib_RecolorCursor.obj Xlib_FreeCursor.obj \
  136.     Xlib_FreeFontInfo.obj Xlib_FreeFontPath.obj Xlib_WarpPointer.obj \
  137.     Xlib_UninstallColormap.obj Xlib_SetClipMask.obj Xlib_SetClOrig.obj \
  138.     Xlib_Stubs.obj
  139.  
  140. XRM_OMF=xrm_s.lib
  141. XRM_OBJ=\
  142.     Xrm_Core.obj Xrm_Quarks.obj Xrm_Defaults.obj Xrm_ParseCmd.obj
  143.  
  144. XLC_OMF=xlc_s.lib
  145. XLC_OBJ=\
  146.     Xlc_Init.obj Xlc_Wrap.obj Xlc_GenConv.obj Xlc_DefConv.obj Xlc_CT.obj \
  147.     Xlc_SetLocale.obj Xlc_CharSet.obj Xlc_Std.obj Xlc_PubWrap.obj \
  148.     Xlc_Conv.obj Xlc_Public.obj Xlc_File.obj Xlc_DB.obj Xlc_Generic.obj \
  149.     Xlc_PrTxt.obj Xlc_TxtPr.obj Xlc_Util.obj Xlc_RM.obj Xlc_UTF.obj \
  150.     Xom_Default.obj Xom_Generic.obj Xom_ImText.obj Xom_Text.obj Xom_Wrap.obj \
  151.     Xom_TextEsc.obj Xom_TextExt.obj Xom_TextPer.obj Xom_XChar.obj \
  152.     Xoc_Wrap.obj Xic_Wrap.obj Xmb_Wrap.obj Xwc_Wrap.obj \
  153.     Xim_Wrap.obj Xim_Core.obj Xim_Conv.obj Xim_ImSw.obj Xim_TransR.obj Xim_Rm.obj \
  154.     Xim_LcIm.obj Xim_ThaiIm.obj Xim_DefIm.obj Xim_LcLkup.obj Xim_LcPrs.obj \
  155.     Xim_LcIc.obj Xim_LcFlt.obj
  156.  
  157. XCMS_OMF=xcms_s.lib
  158. XCMS_OBJ=\
  159.     Xcms_ColNm.obj Xcms_QRed.obj Xcms_QGreen.obj Xcms_QBlue.obj Xcms_Int.obj \
  160.     Xcms_Globals.obj Xcms_LRGB.obj Xcms_UNDEF.obj Xcms_XYZ.obj Xcms_uvY.obj \
  161.     Xcms_xyY.obj Xcms_Lab.obj Xcms_Luv.obj Xcms_HVC.obj Xcms_XRGB.obj \
  162.     Xcms_CvCols.obj Xcms_Cmap.obj Xcms_QuCols.obj Xcms_SetGetCols.obj \
  163.     Xcms_CCC.obj Xcms_SetCCC.obj Xcms_Trig.obj Xcms_Math.obj
  164.  
  165. XKB_OMF=xkb_s.lib
  166. XKB_OBJ=\
  167.     XKB.obj XKBAlloc.obj XKBBell.obj XKBCompat.obj XKBCtrls.obj XKBCvt.obj \
  168.     XKBExtDev.obj XKBGAlloc.obj XKBGeom.obj XKBGetByName.obj XKBGetMap.obj \
  169.     XKBleds.obj XKBList.obj XKBMAlloc.obj XKBMisc.obj XKBNames.obj XKBRdBuf.obj \
  170.     XKBSetGeom.obj XKBSetMap.obj XKBUse.obj XKBBind.obj
  171.  
  172. LIB_OMF=$(XLIB_OMF) $(XRM_OMF) $(XLC_OMF) $(XCMS_OMF) $(XKB_OMF)
  173. LIB_OBJ=$(XLIB_OBJ) $(XRM_OBJ) $(XLC_OBJ) $(XCMS_OBJ) $(XKB_OBJ) \
  174.     Xlib_private.obj
  175.  
  176. ##################################################################
  177.  
  178. CRTL_LIB=\
  179.     crtl/bsd.lib crtl/c_alias.lib crtl/c_static.lib crtl/emx2.lib \
  180.     crtl/os2.lib pthrdrtl.lib crtl/gcc.lib crtl/c.lib
  181.  
  182. CLEAN_FILES=$(LIB_DLL) $(HK_DLL) $(LIB_OBJ) $(LIB_OUT) $(SLIB_OUT)\
  183.     $(SLIB_OMF) $(CRTL_LIB) $(LIB_RES)
  184.  
  185. ##################################################################
  186.  
  187. all: banner headers lib res dll example
  188.  
  189. banner:
  190.  
  191. headers: $(HEADER)
  192.  
  193. lib:    $(LIB_OUT) $(SLIB_OUT)
  194.  
  195. dll:    $(LIB_DLL) $(HK_DLL)
  196.  
  197. res:    $(LIB_RES)
  198.  
  199. example: test
  200.  
  201. clean:
  202.     $(RM) test test.exe test_s test_s.exe $(CLEAN_FILES)
  203.  
  204. $(LIB_RES): X11.rc
  205.     rc -r -p -x X11.rc $(LIB_RES)
  206.  
  207. $(LIB_DLL): $(LIB_DEF) $(LIB_OBJ) $(CRTL_LIB)
  208.     $(RM) *.lib $(LIB_DLL) unconv.lib
  209.     emximp -o uconv.lib uconv.def
  210.     $(CC) -Zomf $(DLLFLAGS) -Lcrtl -o $(LIB_DLL) $(LIB_OBJ) -lbsd -luconv $(LIB_DEF)
  211.     emximp -o $(LIB_OUT) $(LIB_DEF)
  212.     $(RC) $(LIB_RES) $(LIB_DLL) -x2
  213.  
  214. $(HK_DLL): $(HK_DEF) $(CRTL_LIB) X11pmhk.c X11pmhk.h
  215.     $(RM) $(HK_DLL)
  216.     $(CC) -Zdll -Zno-rte -Zomf -DNO_RTE -Lcrtl -o $(HK_DLL) X11pmhk.c $(HK_DEF)
  217.  
  218. $(LIB_OUT): $(LIB_DEF)
  219.     emximp -o $(LIB_OUT) $(LIB_DEF)
  220.  
  221. # test program
  222.  
  223. test: test.c $(LIB_OUT)
  224.     $(CC) $(EXEFLAGS) -o test test.c $(EXELIBS)
  225.  
  226. # DEPENDANCY INFOMATION
  227.  
  228. $(LIB_OBJ): $(HEADER)
  229.  
  230. ##################################################################
  231.  
  232. .c.obj:
  233.     $(CC) -c $(CFLAGS) $<
  234.  
  235. .s.obj:
  236.     $(CC) -c $(CFLAGS) $<
  237.  
  238. crtl/bsd.lib: $(EMX_LIBDIR)/bsd.a
  239.     emxomf -o $@ $<
  240. crtl/c_alias.lib: $(EMX_LIBDIR)/c_alias.a
  241.     emxomf -o $@ $<
  242. crtl/c_static.lib: $(EMX_LIBDIR)/c_static.a
  243.     emxomf -o $@ $<
  244. crtl/emx2.lib: $(EMX_LIBDIR)/emx2.a
  245.     emxomf -o $@ $<
  246. crtl/os2.lib: $(EMX_LIBDIR)/os2.a
  247.     emxomf -o $@ $<
  248. pthrdrtl.lib: pthrdrtl.a
  249.     emxomf -o $@ $<
  250. crtl/gcc.lib: $(EMX_LIBDIR)/gcc.a
  251.     emxomf -o $@ $<
  252. crtl/c.lib: $(EMX_LIBDIR)/st/c.a
  253.     emxomf -o $@ $<
  254.  
  255. # END OF MAKEFILE