makedep: Generate install rules for TrueType fonts based on pragmas in the .sfd file.
This commit is contained in:
parent
1cccb5594a
commit
09e70524f4
|
@ -43,7 +43,7 @@ distclean:: clean
|
||||||
|
|
||||||
.PHONY: install install-lib install-dev uninstall __uninstall__
|
.PHONY: install install-lib install-dev uninstall __uninstall__
|
||||||
uninstall:: __uninstall__
|
uninstall:: __uninstall__
|
||||||
-rmdir $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir) $(DESTDIR)$(includedir)
|
-rmdir $(DESTDIR)$(fontdir) $(DESTDIR)$(datadir)/wine $(DESTDIR)$(fakedlldir) $(DESTDIR)$(dlldir) $(DESTDIR)$(includedir)
|
||||||
|
|
||||||
# Dependencies between directories
|
# Dependencies between directories
|
||||||
|
|
||||||
|
|
|
@ -12,19 +12,6 @@ FONT_SRCS = \
|
||||||
tahomabd.sfd \
|
tahomabd.sfd \
|
||||||
wingding.sfd
|
wingding.sfd
|
||||||
|
|
||||||
TRUETYPE_FONTS = \
|
|
||||||
marlett.ttf \
|
|
||||||
symbol.ttf \
|
|
||||||
tahoma.ttf \
|
|
||||||
tahomabd.ttf \
|
|
||||||
wingding.ttf
|
|
||||||
|
|
||||||
# Make sure that make_makefiles sees the generated rules
|
# Make sure that make_makefiles sees the generated rules
|
||||||
clean::
|
|
||||||
|
|
||||||
install install-lib::
|
install install-lib::
|
||||||
for i in $(TRUETYPE_FONTS); do $(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(fontdir)/$$i || exit 1; done
|
clean::
|
||||||
|
|
||||||
uninstall::
|
|
||||||
-cd $(DESTDIR)$(fontdir) && $(RM) $(TRUETYPE_FONTS)
|
|
||||||
-rmdir $(DESTDIR)$(fontdir)
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ FullName: Marlett
|
||||||
FamilyName: Marlett
|
FamilyName: Marlett
|
||||||
Weight: Regular
|
Weight: Regular
|
||||||
Copyright: Copyright (C) TransGaming Technologies. All rights reserved.
|
Copyright: Copyright (C) TransGaming Technologies. All rights reserved.
|
||||||
|
UComments: "#pragma makedep install"
|
||||||
Version: 0.2
|
Version: 0.2
|
||||||
ItalicAngle: 0
|
ItalicAngle: 0
|
||||||
UnderlinePosition: 0
|
UnderlinePosition: 0
|
||||||
|
|
|
@ -4,6 +4,7 @@ FullName: Symbol
|
||||||
FamilyName: Symbol
|
FamilyName: Symbol
|
||||||
Weight: Book
|
Weight: Book
|
||||||
Copyright: WineSymbol © (Jon Parshall for CodeWeavers). 2009.
|
Copyright: WineSymbol © (Jon Parshall for CodeWeavers). 2009.
|
||||||
|
UComments: "#pragma makedep install"
|
||||||
Version: 1.1 February 3, 2009, initial release
|
Version: 1.1 February 3, 2009, initial release
|
||||||
ItalicAngle: 0
|
ItalicAngle: 0
|
||||||
UnderlinePosition: -173
|
UnderlinePosition: -173
|
||||||
|
|
|
@ -4,6 +4,7 @@ FullName: Tahoma
|
||||||
FamilyName: Tahoma
|
FamilyName: Tahoma
|
||||||
Weight: Regular
|
Weight: Regular
|
||||||
Copyright: Copyright (c) 2004 Larry Snyder, Based on Bitstream Vera Sans Copyright (c) 2003 by Bitstream, Inc. Font renamed in accordance with former's license. Please do not contact Bitstream Inc. for any reason regarding this font.
|
Copyright: Copyright (c) 2004 Larry Snyder, Based on Bitstream Vera Sans Copyright (c) 2003 by Bitstream, Inc. Font renamed in accordance with former's license. Please do not contact Bitstream Inc. for any reason regarding this font.
|
||||||
|
UComments: "#pragma makedep install"
|
||||||
Version: 000.001
|
Version: 000.001
|
||||||
FONDName: WineTahoma
|
FONDName: WineTahoma
|
||||||
DefaultBaseFilename: tahoma
|
DefaultBaseFilename: tahoma
|
||||||
|
|
|
@ -4,6 +4,7 @@ FullName: Tahoma Bold
|
||||||
FamilyName: Tahoma
|
FamilyName: Tahoma
|
||||||
Weight: Bold
|
Weight: Bold
|
||||||
Copyright: Copyright (c) 2004 Larry Snyder, Based on Bitstream Vera Sans Copyright (c) 2003 by Bitstream, Inc. Font renamed in accordance with former's license. Please do not contact Bitstream Inc. for any reason regarding this font.
|
Copyright: Copyright (c) 2004 Larry Snyder, Based on Bitstream Vera Sans Copyright (c) 2003 by Bitstream, Inc. Font renamed in accordance with former's license. Please do not contact Bitstream Inc. for any reason regarding this font.
|
||||||
|
UComments: "#pragma makedep install"
|
||||||
Version: 000.001
|
Version: 000.001
|
||||||
FONDName: WineTahomaBold
|
FONDName: WineTahomaBold
|
||||||
DefaultBaseFilename: tahomabd
|
DefaultBaseFilename: tahomabd
|
||||||
|
|
|
@ -4,6 +4,7 @@ FullName: Wingdings
|
||||||
FamilyName: Wingdings
|
FamilyName: Wingdings
|
||||||
Weight: Regular
|
Weight: Regular
|
||||||
Copyright: Copyright (C) 2013 Dmitry Timoshkov
|
Copyright: Copyright (C) 2013 Dmitry Timoshkov
|
||||||
|
UComments: "#pragma makedep install"
|
||||||
Version: 001.000
|
Version: 001.000
|
||||||
ItalicAngle: 0
|
ItalicAngle: 0
|
||||||
UnderlinePosition: -170
|
UnderlinePosition: -170
|
||||||
|
|
|
@ -51,18 +51,19 @@ struct incl_file
|
||||||
struct incl_file **files;
|
struct incl_file **files;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define FLAG_SYSTEM 0x0001 /* is it a system include (#include <name>) */
|
#define FLAG_SYSTEM 0x000001 /* is it a system include (#include <name>) */
|
||||||
#define FLAG_GENERATED 0x0002 /* generated file */
|
#define FLAG_GENERATED 0x000002 /* generated file */
|
||||||
#define FLAG_IDL_PROXY 0x0004 /* generates a proxy (_p.c) file */
|
#define FLAG_INSTALL 0x000004 /* file to install */
|
||||||
#define FLAG_IDL_CLIENT 0x0008 /* generates a client (_c.c) file */
|
#define FLAG_IDL_PROXY 0x000100 /* generates a proxy (_p.c) file */
|
||||||
#define FLAG_IDL_SERVER 0x0010 /* generates a server (_s.c) file */
|
#define FLAG_IDL_CLIENT 0x000200 /* generates a client (_c.c) file */
|
||||||
#define FLAG_IDL_IDENT 0x0020 /* generates an ident (_i.c) file */
|
#define FLAG_IDL_SERVER 0x000400 /* generates a server (_s.c) file */
|
||||||
#define FLAG_IDL_REGISTER 0x0040 /* generates a registration (_r.res) file */
|
#define FLAG_IDL_IDENT 0x000800 /* generates an ident (_i.c) file */
|
||||||
#define FLAG_IDL_TYPELIB 0x0080 /* generates a typelib (.tlb) file */
|
#define FLAG_IDL_REGISTER 0x001000 /* generates a registration (_r.res) file */
|
||||||
#define FLAG_IDL_REGTYPELIB 0x0100 /* generates a registered typelib (_t.res) file */
|
#define FLAG_IDL_TYPELIB 0x002000 /* generates a typelib (.tlb) file */
|
||||||
#define FLAG_IDL_HEADER 0x0200 /* generates a header (.h) file */
|
#define FLAG_IDL_REGTYPELIB 0x004000 /* generates a registered typelib (_t.res) file */
|
||||||
#define FLAG_RC_PO 0x0400 /* rc file contains translations */
|
#define FLAG_IDL_HEADER 0x008000 /* generates a header (.h) file */
|
||||||
#define FLAG_C_IMPLIB 0x0800 /* file is part of an import library */
|
#define FLAG_RC_PO 0x010000 /* rc file contains translations */
|
||||||
|
#define FLAG_C_IMPLIB 0x020000 /* file is part of an import library */
|
||||||
|
|
||||||
static const struct
|
static const struct
|
||||||
{
|
{
|
||||||
|
@ -875,6 +876,8 @@ static void parse_pragma_directive( struct incl_file *source, char *str )
|
||||||
while ((p = strtok( NULL, " \t" ))) add_include( source, p, 0 );
|
while ((p = strtok( NULL, " \t" ))) add_include( source, p, 0 );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (!strcmp( flag, "install" )) source->flags |= FLAG_INSTALL;
|
||||||
|
|
||||||
if (strendswith( source->name, ".idl" ))
|
if (strendswith( source->name, ".idl" ))
|
||||||
{
|
{
|
||||||
if (!strcmp( flag, "header" )) source->flags |= FLAG_IDL_HEADER;
|
if (!strcmp( flag, "header" )) source->flags |= FLAG_IDL_HEADER;
|
||||||
|
@ -1632,14 +1635,21 @@ static struct strarray output_sources(void)
|
||||||
}
|
}
|
||||||
else if (!strcmp( ext, "sfd" )) /* font file */
|
else if (!strcmp( ext, "sfd" )) /* font file */
|
||||||
{
|
{
|
||||||
|
char *ttf_file = src_dir_path( strmake( "%s.ttf", obj ));
|
||||||
char *fontforge = get_expanded_make_variable( "FONTFORGE" );
|
char *fontforge = get_expanded_make_variable( "FONTFORGE" );
|
||||||
if (fontforge && !src_dir)
|
if (fontforge && !src_dir)
|
||||||
{
|
{
|
||||||
output( "%s.ttf: %s\n", obj, source->filename );
|
output( "%s: %s\n", ttf_file, source->filename );
|
||||||
output( "\t%s -script %s %s $@\n",
|
output( "\t%s -script %s %s $@\n",
|
||||||
fontforge, top_dir_path( "fonts/genttf.ff" ), source->filename );
|
fontforge, top_dir_path( "fonts/genttf.ff" ), source->filename );
|
||||||
}
|
}
|
||||||
free( fontforge );
|
if (source->flags & FLAG_INSTALL)
|
||||||
|
{
|
||||||
|
output( "install install-lib::\n" );
|
||||||
|
output( "\t$(INSTALL_DATA) %s $(DESTDIR)$(fontdir)/%s.ttf\n", ttf_file, obj );
|
||||||
|
output( "uninstall::\n" );
|
||||||
|
output( "\t$(RM) $(DESTDIR)$(fontdir)/%s.ttf\n", obj );
|
||||||
|
}
|
||||||
continue; /* no dependencies */
|
continue; /* no dependencies */
|
||||||
}
|
}
|
||||||
else if (!strcmp( ext, "fon" )) /* bitmap font file */
|
else if (!strcmp( ext, "fon" )) /* bitmap font file */
|
||||||
|
|
Loading…
Reference in New Issue