]> git.saurik.com Git - apple/icu.git/blame - icuSources/tools/pkgdata/makefile.h
ICU-3.13.tar.gz
[apple/icu.git] / icuSources / tools / pkgdata / makefile.h
CommitLineData
b75a7d8f
A
1/**************************************************************************
2*
3* Copyright (C) 2000, 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 */
28void
29pkg_mak_writeHeader(FileStream *f, const UPKGOptions *o);
30
31/* Write a stanza in the makefile, with specified "target: parents... \n\n\tcommands" [etc] */
32void
33pkg_mak_writeStanza(FileStream *f, const UPKGOptions *o,
34 const char *target,
35 CharList* parents,
36 CharList* commands);
37
38/* write any cleanup/post stuff */
39void
40pkg_mak_writeFooter(FileStream *f, const UPKGOptions *o);
41
42
43
44#ifdef WIN32
45extern void pkg_mode_windows(UPKGOptions *o, FileStream *makefile, UErrorCode *status);
46#else /*#ifdef WIN32*/
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 */
54extern void
55pkg_mak_writeObjRules(UPKGOptions *o, FileStream *makefile, CharList **objects, const char* objSuffix);
56#ifdef UDATA_SO_SUFFIX
57extern void pkg_mode_dll(UPKGOptions* o, FileStream *stream, UErrorCode *status);
58extern void pkg_mode_static(UPKGOptions* o, FileStream *stream, UErrorCode *status);
59#endif /*#ifdef UDATA_SO_SUFFIX*/
60extern void pkg_mode_common(UPKGOptions* o, FileStream *stream, UErrorCode *status);
61#endif /*#ifdef WIN32*/
62
63extern void pkg_mode_files(UPKGOptions* o, FileStream *stream, UErrorCode *status);
64
65
66#endif