aboutsummaryrefslogtreecommitdiff
path: root/winsup/mingw/jamfile
blob: 1769d952d711d96dad4589457537a78c143a1a57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#
# Jamfile for building various libraries and object files for the
# Minimalist GNU-Win32 package.
#
# $Revision$
# $Author$
# $Date$
#

# Change this line if you have installed Mingw32 in another directory.
#
LOCATE_TARGET = /mingw32/lib ;

RUNTIME default = crtdll ;

# Build the mingw32 library which contains startup code and extra support
# routines.
#
Library libmingw32.a :
	CRTglob.c
	CRTfmode.c
	CRTinit.c
	dirent.c
	dllmain.c
	gccmain.c
	main.c
	;


# Build the startup object files for normal applications and for DLLs.
# The crt2 and dllcrt2 versions are for MSVCRTxx.DLL runtimes. crt1 and
# dllcrt1 are for the CRTDLL.DLL runtime.
#
Object crt1.o : crt1.c ;
Object crt2.o : crt1.c ;

CCFLAGS on crt2.o += -D__MSVCRT__ ;

Object dllcrt1.o : dllcrt1.c ;
Object dllcrt2.o : dllcrt1.c ;

CCFLAGS on dllcrt2.o += -D__MSVCRT__ ;

DEPENDS all : crt1.o dllcrt1.o crt2.o dllcrt2.o ;


# Build an object file which contains a single global variable initialized
# so that globbing will not be performed on the command line.
#
Object CRT_noglob.o : CRT_noglob.c ;
LOCATE on CRT_noglob.o = $(LOCATE_TARGET) ;

DEPENDS all : CRT_noglob.o ;


# Build a special import library which contains mostly the imports defined
# in moldname.def, but with their leading underscores stripped off, plus the
# extra code in the C modules included.
#
ImportLib libmoldname.a : moldname.def ctype_old.c string_old.c ;

DLLNAME on libmoldname.a = $(RUNTIME).dll ;
DLLTOOLFLAGS on libmoldname.a += -U ;


# Build import libraries for the various runtimes.
#
ImportLib libcrtdll.a : crtdll.def ;
ImportLib libmsvcrt.a : msvcrt.def ;
ImportLib libmsvcrt20.a : msvcrt20.def ;
ImportLib libmsvcrt40.a : msvcrt40.def ;