C++ = g++ ; CC = gcc ; # ECHO $(JAMUNAME) ; LINKFLAGS += -rdynamic ; if $(MSPACES) { CCFLAGS += -DMSPACES ; C++FLAGS += -DMSPACES ; } if ! $(HAVE_LUA) { HAVE_LUA = 1 ; } if $(DISTCC_HOSTS) { DISTCC = 1 ; } if $(DISTCC) { CC = distcc $(CC) ; C++ = distcc $(C++) ; Echo Compiling with distcc ; } if ! $(CCACHE_DIR) { } else { CC = ccache $(CC) ; C++ = ccache $(C++) ; Echo Compiling with ccache ; } if $(DMALLOC) { Echo Compiling with dmalloc ; CCFLAGS += -DUSE_DMALLOC ; C++FLAGS += -DUSE_DMALLOC ; LINKFLAGS += -ldmalloc ; } if $(PROFILE) = 1 { Echo Compiling with profiler ; CCFLAGS += -pg -g ; LINKFLAGS += -pg -g ; } CCFLAGS += -Wall ; CCFLAGS += -Wwrite-strings # -W -Wstrict-prototypes -Werror-implicit-function-declaration -Wno-char-subscripts -Wpointer-arith # -Wshadow # -Wcast-qual # -Wcast-align # -Wconversion # -Wunreachable-code ; # this require the latet luabind from CVS if ! $(LUABIND) { LUABIND = "B7" ; } C++FLAGS += -DHAVE_LUABIND_$(LUABIND) ; if $(LOCAL_USR) { XMLHDRS = $(LOCAL_USR)/include/libxml2 ; C++FLAGS += -I$(LOCAL_USR)/include ; CFLAGS += -I$(LOCAL_USR)/include ; LINKLIBS += -L$(LOCAL_USR)/lib ; } else { XMLHDRS = /usr/include/libxml2 ; } C++FLAGS += -DHAVE_LUABIND_$(LUABIND) ; rule iconv { if $(LINK_ICONV) { LINKLIBS on $(<) += -liconv ; } } rule luabind { LINKLIBS on $(<) += -L$(LUABIND_ROOT)/lib ; LINKLIBS on $(<) += -llua50 -llualib50 ; LINKLIBS on $(<) += -lm -lluabind ; } rule libxml2 { LINKLIBS on $(<) += -lxml2 ; } rule UsingLuabind { SubDirHdrs $(LUABIND_ROOT)/include ; } rule UsingLua { SubDirHdrs /usr/include/lua50 ; } rule TargetDirectory { # Now set up SEARCH_SOURCE, LOCATE_TARGET, SOURCE_GRIST # These can be reset if needed. For example, if the source # directory should not hold object files, LOCATE_TARGET can # subsequently be redefined. local path = [ FDirName $(SUBDIR) $(TARGET_PREFIX) ] ; SEARCH_SOURCE = $(SUBDIR) ; LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(path) ; LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(path) ; SOURCE_GRIST = $(path) ; if $(DEBUG) = 1 { SubDirCcFlags -g ; SubDirC++Flags -g ; } else { SubDirCcFlags -DNDEBUG -O2 ; SubDirC++Flags -DNDEBUG -O2 ; } } if ! $(DEBUG) { ECHO Assuming DEBUG=1 ; DEBUG = 1 ; } if $(WITHOUT_LUA) { ECHO Compiling without LUA ; } if $(PROFILE) = 1 { TARGET_PREFIX = Profile ; } else { if $(DEBUG) = 0 { TARGET_PREFIX = Release ; } else { TARGET_PREFIX = Debug ; } }