1 # Jamfile to build Jam (a make(1)-like program)
2 # There are no user-serviceable parts in this file.
3 VERSION = k8jam-2.5.13 ;
7 DEFINES += MKJAMBASE_COMPACT ;
9 #DEFINES += OPT_HEADER_CACHE_EXT ;
12 if ! $(THIS_IS_K8JAM) {
13 Exit "I WANT K8JAM!" ;
16 set-target-locations ;
20 if ! $(PREFIX) { PREFIX = /usr/local ; }
23 # note that we use the target directory 'bin.unix' to ensure that
24 # 'make install' and 'make uninstall' work correctly
26 #if ! $(LOCATE_TARGET) { LOCATE_TARGET = bin.unix/obj ; }
27 ALL_LOCATE_BIN = $(TOP)/bin.unix ;
29 #if ! $(LOCATE_TARGET) { LOCATE_TARGET = bin.$(OSFULL[1]:L)$(PATH_SEPARATOR)obj ; }
30 ALL_LOCATE_BIN = $(TOP)$(PATH_SEPARATOR)bin.$(OSFULL[1]:L) ;
33 # Leave generated source in current directory; it would be nice to use
34 # these lines below to build the source into the platform-specific
35 # directory, but getting scan.c to include the right jambase.h is
36 # hard: with ""'s, it always gets the bootstrap version; with <>'s,
37 # it won't find the bootstrap version.
39 # SEARCH_SOURCE ?= $(LOCATE_TARGET) $(DOT) ;
40 # LOCATE_SOURCE ?= $(LOCATE_TARGET) ;
42 # For some really stupid reason, classic Jam doesn't define NT
43 # when compiling with Mingw, but the variable MINGW instead..
45 if ! $(NT) && $(MINGW) {
50 if $(UNIX) && $(OS) = CYGWIN {
51 CCFLAGS += -D__cygwin__ ;
55 # We have to signal jam.h for these
57 switch $(JAM_TOOLSET) {
58 case MINGW : CCFLAGS += -DNT ;
59 case LCC : CCFLAGS += -DNT ;
60 case DIGITALMARS : CCFLAGS += -DNT ;
61 case * : CCFLAGS += /DNT ;
66 if ! $(DEBUG) && ! $(VALGRIND) {
72 # Strip the Jam executable on Mingw
73 if $(JAM_TOOLSET) = MINGW {
83 #if $(DESTDIR) { INSTALLDIR_PREFIX = $(DESTDIR)$(PREFIX) ; } else { INSTALLDIR_PREFIX = $(PREFIX) ; }
84 #INSTALLDIR_BIN = $(INSTALLDIR_PREFIX)/bin ;
85 #INSTALLDIR_MAN = $(INSTALLDIR_PREFIX)/man ;
86 #INSTALLDIR_DOCS = $(INSTALLDIR_PREFIX)/share/doc/$(VERSION) ;
90 HDRS += $(ALL_LOCATE_TARGET)/src ;
93 actions quietly AShowHelp {
94 echo "usage: jam [target] [flags]"
96 echo " all/<empty> -- build"
97 #echo " push -- push to external git repository"
101 softinclude $(TOP)/Jamrules.local ;
102 softinclude $(TOP)/Jamrules.push ;