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 : rule Reconf { DEPENDS "$(1)" : "$(1).in" "$(Reconf)" ; } actions Reconf { cd "$(Sources)" && /bin/sh "$(Reconf)" -f } # 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 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 && cd "$(1:D)/lib/gssapi/krb5" && make gssapi_krb5.h && touch "$(1)" && echo "### HAPPINESS ###" } # Make rule Make { DEPENDS "$(1)" : "$(Makefile)" ; Configure "$(Makefile)" : "$(Configure)" ; Clean.Remove clean "$(1)" ; } actions Make { cd "$(1:D)" && make && touch "$(1)" && echo "### HAPPINESS ###" }