summaryrefslogtreecommitdiffstats
path: root/src/mac/MacOSX/Scripts/Kerberos5BuildSystem.jam
blob: 72d3485abe81b8a093751f64dc8405934c825dfa (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
73
74
75
76
Intermediates = "$(BUILT_PRODUCTS_DIR)/Kerberos5.intermediates" ;
IntermediateBuild = "$(Intermediates)/build" ;
Sources = "$(SRCROOT)/../../Kerberos5/Sources" ;

Reconf = "$(Sources)/util/reconf" ;
Configure = "$(Sources)/configure" ;
Makefile = "$(IntermediateBuild)/Makefile" ;
MakefileET = "$(IntermediateBuild)/util/et/Makefile" ;
MakefileInclude = "$(IntermediateBuild)/include/Makefile" ;


# Assemble CFLAGS
CONFIGURE_CFLAGS = "-fno-common -include /usr/include/TargetConditionals.h -DUSE_PASSWORD_SERVER" ;
if $(RC_CFLAGS)      != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(RC_CFLAGS)" ;      }
if $(CFLAGS)         != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(CFLAGS)" ;         }
if $(OTHER_CFLAGS)   != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(OTHER_CFLAGS)" ;   }
if $(WARNING_CFLAGS) != "" { CONFIGURE_CFLAGS = "$(CONFIGURE_CFLAGS) $(WARNING_CFLAGS)" ; }
CONFIGURE_CFLAGS = "CFLAGS=$(CONFIGURE_CFLAGS)" ;

# Assemble LDFLAGS
CONFIGURE_LDFLAGS = "-Wl,-search_paths_first" ;
if $(LDFLAGS) != "" { CONFIGURE_LDFLAGS = "$(LDFLAGS) $(CONFIGURE_LDFLAGS)" ;  }
CONFIGURE_LDFLAGS = "LDFLAGS=$(CONFIGURE_LDFLAGS:)" ;

#
# Note: in this jam script we have separated the dependency tree from the 
# actual scripts.  This is so that CVS checkouts trigger a rebuild but the jam
# script doesn't need to know how the reconf and configure scripts work.
#

# Reconf <configure> : <configure.in>
rule Reconf
{
    DEPENDS "$(1)" : "$(1).in" "$(Reconf)" ;
}
actions Reconf
{
    cd "$(Sources)" && /bin/sh "$(Reconf)" -f
}

# Configure <makefile> : <configure>
rule Configure
{
    DEPENDS "$(1)" : "$(2)" ;
    Reconf "$(2)" : "$(2).in" ;
    Clean.Remove clean "$(1:D)" ;
}
actions Configure
{
    mkdir -p "$(1:D)"
    cd "$(1:D)" && /bin/sh "$(2)" --prefix=/usr --localstatedir=/var/db "$(CONFIGURE_CFLAGS)" "$(CONFIGURE_LDFLAGS)" || rm -f "$(1)"
}

# MakeInclude <stamp file>
rule MakeInclude
{
    DEPENDS "$(1)" : "$(Makefile)" ;
    Configure "$(Makefile)" : "$(Configure)" ;
    Clean.Remove clean "$(1)" ;
}
actions MakeInclude
{
    cd "$(1:D)/util/et" && make && cd "$(1:D)/include" && make && touch "$(1)" && echo "### HAPPINESS ###"
}

# Make <stamp file>
rule Make
{
    DEPENDS "$(1)" : "$(Makefile)" ;
    Configure "$(Makefile)" : "$(Configure)" ;
    Clean.Remove clean "$(1)" ;
}
actions Make
{
    cd "$(1:D)" && make && touch "$(1)" && echo "### HAPPINESS ###"
}