Previous Next
Platform Makefile

SNiFF+ comes with a set of pre-configured Platform Makefiles for all platforms on which it runs. These Makefiles are stored in your $SNIFF_DIR/make_support directory.
Platform Makefiles are included by the General Makefile and define macros for the various build tools needed for each specific platform (e.g., compilers, linker, archiver, preprocessor). The flags corresponding to these tools can also be defined in Platform Makefiles.
For details about which macros and flags can be set in Platform Makefiles, please refer directly to the files.
Configuring the Platform Makefile
In your Platform Makefiles, you can redefine the macros and rules that are set in the General Makefile for your particular platform, see below:

Example Description
CXX = CC
Use the SparcWorks native compiler on Solaris
SYSYPE = -DOS_SYSV -DOS_Solaris
Preprocessor Defines that help your sources to identify a platform -- you are free to choose these, they will just be evaluated by the Preprocessor in your Source Code
CXXFLAGS = -O -pte.cc
Global C++ Compiler flags: Optimize and use . cc as extension for templates
CXX_DEBUGFLAG = -g
Define the debugging information flag which is used on this particular platform (for multi-platform use in the Project Makefile)
LD_SHAREDFLAGS = -shared
While GNU compilers use -G for producing shared libraries, the Irix native compiler uses -shared . Producing shared libraries is generally rather system dependent, so you might need to change the corresponding flags in your Platform Makefile to make it work.
SOCKET_LIBS = -lsocket -lnsl
These libs are typically only needed on Solaris. By defining SOCKET_LIBS in the Platform Makefile, you can use $(SOCKET_LIBS) as a platform-dependent library to be linked to your executables ( +libraries linked field in the Project Attributes).
MY_GLOBAL_LIB = -L/lib/mine - lglob
By defining a macro for external additional libraries, you can use it as $(MY_GLOBAL_LIB) in the Project Attributes (similar to the SOCKET_LIBS , see above)
YACC_CFILE_SUFFIX = c
LEX_CFILE_SUFFIX = c
IDL_CFILE_SUFFIX = cpp
Change the suffix that is used for files generated from the Yacc, Lex or IDL precompiler. Note that you should also change the SNiFF+ filetype for ... generated Implementation files to use the suffix that you have changed.

Previous Next