]> git.saurik.com Git - apple/icu.git/blob - icuSources/tools/pkgdata/makefile.h
ICU-8.11.1.tar.gz
[apple/icu.git] / icuSources / tools / pkgdata / makefile.h
1 /**************************************************************************
2 *
3 * Copyright (C) 2000-2005, International Business Machines
4 * Corporation and others. All Rights Reserved.
5 *
6 ***************************************************************************
7 * file name: makefile.h
8 * encoding: ANSI X3.4 (1968)
9 * tab size: 8 (not used)
10 * indentation:4
11 *
12 * created on: 2000may17
13 * created by: Steven \u24C7 Loomis
14 *
15 * definition for code to create a makefile.
16 * implementation is OS dependent (i.e. gmake.c, nmake.c, .. )
17 */
18
19 #ifndef _MAKEFILE
20 #define _MAKEFILE
21
22 /* headers */
23 #include "unicode/utypes.h"
24 #include "pkgtypes.h"
25
26
27 /* Write any setup/initialization stuff */
28 void
29 pkg_mak_writeHeader(FileStream *f, const UPKGOptions *o);
30
31 /* Write a stanza in the makefile, with specified "target: parents... \n\n\tcommands" [etc] */
32 void
33 pkg_mak_writeStanza(FileStream *f, const UPKGOptions *o,
34 const char *target,
35 CharList* parents,
36 CharList* commands);
37
38 /* write any cleanup/post stuff */
39 void
40 pkg_mak_writeFooter(FileStream *f, const UPKGOptions *o);
41
42
43
44 #ifdef U_MAKE_IS_NMAKE
45 extern void pkg_mode_windows(UPKGOptions *o, FileStream *makefile, UErrorCode *status);
46 #else /*#ifdef U_MAKE_IS_NMAKE*/
47 /**
48 * Write stanzas for generating .o (and .c) files for each data file in 'o->filePaths'.
49 * @param o Package options struct
50 * @param makefile Current makefile being written
51 * @param objects On output, list of object files
52 * @param objSuffix Suffix of object files including dot, typically OBJ_SUFFIX or ".o" or ".obj"
53 */
54 extern void
55 pkg_mak_writeObjRules(UPKGOptions *o, FileStream *makefile, CharList **objects, const char* objSuffix);
56 #ifdef UDATA_SO_SUFFIX
57 extern void pkg_mode_dll(UPKGOptions* o, FileStream *stream, UErrorCode *status);
58 extern void pkg_mode_static(UPKGOptions* o, FileStream *stream, UErrorCode *status);
59 #endif /*#ifdef UDATA_SO_SUFFIX*/
60 extern void pkg_mode_common(UPKGOptions* o, FileStream *stream, UErrorCode *status);
61 #endif /*#ifdef U_MAKE_IS_NMAKE*/
62
63 extern void pkg_mode_files(UPKGOptions* o, FileStream *stream, UErrorCode *status);
64
65
66 extern void
67 pkg_mak_writeAssemblyHeader(FileStream *f, const UPKGOptions *o);
68 extern void
69 pkg_mak_writeAssemblyFooter(FileStream *f, const UPKGOptions *o);
70
71 #endif