TOP = ../.. !INCLUDE $(TOP)/glib/build/win32/make.msc !IFNDEF PERL PERL = perl !ENDIF # Possibly override Pango version from build/win32/module.defs PANGO_VER = 1.0 PANGO_MODULE_VERSION = 1.0.0 # INCLUDES = -I .. -I . # DEFINES = -DPACKAGE=\"Pango\" -DVERSION=\"$(PANGO_VER)\" # DEPCFLAGS = $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) $(FREETYPE2_CFLAGS) !IFNDEF PACKAGE DLLS = pango pangowin32 pangoft2 # pangox EXES = querymodules testfonts #? test1 test2 test3 test4 test5 # The main target all : \ sub-all sub-all: for %d in ($(DLLS)) do nmake -nologo -f makefile.msc sub-one-dll THIS=%d for %d in ($(DLLS)) do nmake -nologo -f makefile.msc sub-one-lib THIS=%d for %d in ($(EXES)) do nmake -nologo -f makefile.msc sub-one-exe THIS=%d sub-one-lib: nmake -nologo -f makefile.msc $(THIS)-$(PANGO_VER)s.lib PACKAGE=$(THIS) OBJS_$(THIS)=1 sub-one-dll: nmake -nologo -f makefile.msc lib$(THIS)-$(PANGO_VER)-0.dll PACKAGE=$(THIS) OBJS_$(THIS)=1 sub-one-exe: nmake -nologo -f makefile.msc $(THIS).exe PACKAGE=$(THIS) OBJS_$(THIS)=1 !ELSE PRJ_TOP = .. PKG_VER = $(PANGO_VER) PKG_DEF = $(PACKAGE).def PKG_CFLAGS = -FImsvc_recommended_pragmas.h -I.. -I. -I$(PRJ_TOP) \ -DPACKAGE=\"Pango\" -DVERSION=\"$(PANGO_VER)\" \ -DPANGO_ENABLE_BACKEND -DPANGO_ENABLE_ENGINE \ -DMODULE_VERSION=\"$(PANGO_MODULE_VERSION)\" \ $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) \ $(X11_CFLAGS) -DSYSCONFDIR=\"/etc\" !IFDEF OBJS_pango # don't link with itself PKG_LINK = $(GLIB_LIBS) $(FONTCONFIG_LIBS) !ENDIF !IFDEF OBJS_pangowin32 PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) \ pango-$(PANGO_VER).lib !ENDIF !IFDEF OBJS_pangoft2 PKG_CFLAGS = $(PKG_CFLAGS) $(FREETYPE2_CFLAGS) $(FONTCONFIG_CFLAGS) \ -DPANGO_MODULE_PREFIX=_pango_basic_ft2 PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) $(FREETYPE2_LIBS) $(FONTCONFIG_LIBS) \ pango-$(PANGO_VER).lib opentype\pango-ot.lib !ENDIF !IFDEF OBJS_pangox PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) \ pango-$(PANGO_VER).lib $(X11_LIBS) !ENDIF !IF DEFINED (OBJS_querymodules) || DEFINED (OBJS_testfonts) PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) \ pango-$(PANGO_VER).lib pangowin32-$(PANGO_VER).lib !ENDIF !IFDEF OBJS_pango OBJECTS = \ pango-enum-types.obj \ \ break.obj \ ellipsize.obj \ fonts.obj \ glyphstring.obj \ mapping.obj \ modules.obj \ pango-attributes.obj \ pango-engine.obj \ pango-color.obj \ pango-context.obj \ pango-coverage.obj \ pango-fontset.obj \ pango-fontmap.obj \ pango-glyph-item.obj \ pango-item.obj \ pango-markup.obj \ pango-layout.obj \ pango-renderer.obj \ pango-script.obj \ pango-tabs.obj \ pango-utils.obj \ reorder-items.obj \ shape.obj \ \ fribidi.obj \ fribidi_get_type.obj !ENDIF basic-win32.obj : ..\modules\basic\basic-win32.c $(CC) $(PKG_CFLAGS) -GD -DPANGO_MODULE_PREFIX=_pango_basic_win32 -c ..\modules\basic\basic-win32.c basic-fc.obj : ..\modules\basic\basic-fc.c $(CC) $(PKG_CFLAGS) -GD -DPANGO_MODULE_PREFIX=_pango_basic_ft2 -c ..\modules\basic\basic-fc.c basic-x.obj : ..\modules\basic\basic-x.c $(CC) $(PKG_CFLAGS) -GD -DPANGO_MODULE_PREFIX=_pango_basic_xs -c ..\modules\basic\basic-x.c fribidi.obj : mini-fribidi\fribidi.c $(CC) $(PKG_CFLAGS) -GD -c mini-fribidi\fribidi.c fribidi_get_type.obj : mini-fribidi\fribidi_get_type.c $(CC) $(PKG_CFLAGS) -GD -c mini-fribidi\fribidi_get_type.c !IFDEF OBJS_pangowin32 PKG_CFLAGS = $(PKG_CFLAGS) -DPANGO_MODULE_PREFIX=_pango_basic_win32 OBJECTS = \ module-defs-win32.obj \ pangowin32.obj \ pangowin32-fontcache.obj \ pangowin32-fontmap.obj \ # pangowin32-render.obj \ basic-win32.obj !ENDIF !IFDEF OBJS_pangoft2 OBJECTS = \ module-defs-fc.obj \ pangofc-decoder.obj \ pangofc-font.obj \ pangofc-fontmap.obj \ pangoft2.obj \ pangoft2-fontmap.obj \ pangoft2-render.obj \ basic-fc.obj PKG_CFLAGS = $(PKG_CFLAGS) $(FONTCONFIG_CFLAGS) $(FREETYPE2_CFLAGS) !ENDIF !IFDEF OBJS_pangox OBJECTS = \ module-defs-x.obj \ pangox.obj \ pangox-fontcache.obj \ pangox-fontmap.obj \ pango-indic.obj \ basic-x.obj !ENDIF !IFDEF OBJS_querymodules OBJECTS = \ querymodules.obj !ENDIF !IFNDEF OBJECTS OBJECTS = $(PACKAGE).obj !ENDIF module-defs-win32.c : module-defs-win32.c.win32 copy module-defs-win32.c.win32 module-defs-win32.c module-defs-fc.c : module-defs-fc.c.win32 copy module-defs-fc.c.win32 module-defs-fc.c pango_headers= \ pango.h \ pango-attributes.h \ pango-break.h \ pango-context.h \ pango-coverage.h \ pango-engine.h \ pango-font.h \ pango-fontmap.h \ pango-fontset.h \ pango-glyph.h \ pango-glyph-item.h \ pango-item.h \ pango-layout.h \ pango-modules.h \ pango-script.h \ pango-tabs.h \ pango-types.h \ pango-utils.h \ pangofc-font.h \ pangofc-fontmap.h pango-enum-types.h: $(pango_headers) makefile.msc $(PERL) $(GLIB)\gobject\glib-mkenums \ --fhead "#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n\n#include \n\nG_BEGIN_DECLS\n" \ --fprod "/* enumerations from \"@filename@\" */\n" \ --vhead "GType @enum_name@_get_type (void);\n#define PANGO_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ --ftail "G_END_DECLS\n#endif /* __PANGO_ENUM_TYPES_H__ */" \ $(pango_headers) > pango-enum-types.h pango-enum-types.c: $(pango_headers) pango-enum-types.h makefile.msc $(PERL) $(GLIB)\gobject\glib-mkenums \ --fhead "#include " \ --fprod "\n/* enumerations from \"@filename@\" */" \ --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ $(pango_headers) > pango-enum-types.c $(PACKAGE)-$(PKG_VER)s.lib : $(OBJECTS) $(PRJ_TOP)\config.h lib /out:$(PACKAGE)-$(PKG_VER)s.lib $(OBJECTS) lib$(PACKAGE)-$(PKG_VER)-0.dll : $(OBJECTS) $(PKG_DEF) $(PRJ_TOP)\config.h $(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(PKG_LINK) \ user32.lib gdi32.lib advapi32.lib $(LDFLAGS) /implib:$(PACKAGE)-$(PKG_VER).lib /def:$(PKG_DEF) $(PACKAGE).exe : $(PKG_LINK) $(OBJECTS) $(CC) $(CFLAGS) -Fe$(PACKAGE).exe $(OBJECTS) $(PKG_LINK) gdi32.lib user32.lib $(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32 copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h .c.obj : $(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) -DPANGO_VERSION=\"$(PANGO_VER)\" $< !ENDIF #PACKAGE