mirror of
https://github.com/ENSL/NS.git
synced 2025-02-21 19:31:19 +00:00
git-svn-id: https://unknownworlds.svn.cloudforge.com/ns1@15 67975925-1194-0748-b3d5-c16f83f1a3a1
155 lines
4.9 KiB
Makefile
155 lines
4.9 KiB
Makefile
#
|
|
# Note : This makefile is for Cray C++ 3.4 and 3.5
|
|
#
|
|
# The GNU version of make must be used to execute the
|
|
# makefile. The UNICOS version of make does not support
|
|
# the "%.suffix1: %.suffix2" feature.
|
|
#
|
|
# GNU version of make is available from the Cray Open
|
|
# Source release, or can be downloaded from various of
|
|
# open source sites.
|
|
|
|
#
|
|
# compiler
|
|
#
|
|
CC = cc
|
|
CXX = CC
|
|
|
|
#
|
|
# Basename for libraries
|
|
#
|
|
LIB_BASENAME = libstlport
|
|
|
|
#
|
|
# guts for common stuff
|
|
#
|
|
#
|
|
LINK=ar cr
|
|
|
|
OBJEXT=o
|
|
STEXT=a
|
|
RM=rm -rf
|
|
PATH_SEP=/
|
|
MKDIR=mkdir -p
|
|
COMP=CRAY$(ARCH)
|
|
|
|
all: all_static all_staticx
|
|
|
|
include common_macros.mak
|
|
|
|
CXXFLAGS_COMMON = -I${STLPORT_DIR}
|
|
CXXFLAGS_RELEASE_static = $(CXXFLAGS_COMMON) -D_STLP_HAS_NO_EXCEPTIONS
|
|
CXXFLAGS_RELEASE_staticx = $(CXXFLAGS_COMMON) -hexceptions
|
|
CXXFLAGS_DEBUG_static = $(CXXFLAGS_COMMON) -g
|
|
CXXFLAGS_STLDEBUG_static = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -D_STLP_HAS_NO_EXCEPTIONS
|
|
CXXFLAGS_STLDEBUG_staticx = $(CXXFLAGS_DEBUG_static) -D_STLP_DEBUG -hexceptions
|
|
|
|
include common_percent_rules.mak
|
|
|
|
# common_percent_rules.mak does not contain makerules for staticx source
|
|
$(RELEASE_OBJDIR_staticx)/%.o: %.cpp
|
|
$(CXX) $(CXXFLAGS_RELEASE_staticx) $< -c -o $@
|
|
$(RELEASE_OBJDIR_staticx)/%.o: %.c
|
|
$(CC) $(CXXFLAGS_RELEASE_staticx) $< -c -o $@
|
|
$(RELEASE_OBJDIR_staticx)/%.i : %.cpp
|
|
$(CXX) $(CXXFLAGS_RELEASE_staticx) $< -E $@
|
|
|
|
$(STLDEBUG_OBJDIR_staticx)/%.o : %.cpp
|
|
$(CXX) $(CXXFLAGS_STLDEBUG_staticx) $< -c -o $@
|
|
$(STLDEBUG_OBJDIR_staticx)/%.o : %.c
|
|
$(CC) $(CXXFLAGS_STLDEBUG_staticx) $< -c -o $@
|
|
$(STLDEBUG_OBJDIR_staticx)/%.i : %.cpp
|
|
$(CXX) $(CXXFLAGS_STLDEBUG_staticx) $< -E $@
|
|
|
|
#include common_rules.mak
|
|
#
|
|
# Target directories
|
|
#
|
|
#
|
|
|
|
$(OUTDIR) :
|
|
$(MKDIR) $(OUTDIR)
|
|
$(RELEASE_OBJDIR_static) :
|
|
$(MKDIR) $(RELEASE_OBJDIR_static)
|
|
$(DEBUG_OBJDIR_static) :
|
|
$(MKDIR) $(DEBUG_OBJDIR_static)
|
|
$(STLDEBUG_OBJDIR_static) :
|
|
$(MKDIR) $(STLDEBUG_OBJDIR_static)
|
|
$(RELEASE_OBJDIR_staticx) :
|
|
$(MKDIR) $(RELEASE_OBJDIR_staticx)
|
|
$(DEBUG_OBJDIR_staticx) :
|
|
$(MKDIR) $(DEBUG_OBJDIR_staticx)
|
|
$(STLDEBUG_OBJDIR_staticx) :
|
|
$(MKDIR) $(STLDEBUG_OBJDIR_staticx)
|
|
|
|
#create a compiler platform directory
|
|
platform: $(PREPARE_STEP)
|
|
-@$(MKDIR) $(OUTDIR)
|
|
-@$(MKDIR) $(OBJDIR_COMMON)
|
|
-@$(MKDIR) $(OBJDIR)
|
|
|
|
clean_all_obj:
|
|
-$(RM) $(OUTDIR)$(PATH_SEP)obj
|
|
|
|
###### Targets ##################
|
|
|
|
all_static : platform $(ALL_STATIC_LIBS)
|
|
|
|
all_staticx : platform $(ALL_STATICX_LIBS)
|
|
|
|
release_static : platform $(OUTDIR)$(PATH_SEP)$(RELEASE_LIB)
|
|
|
|
debug_static : platform $(OUTDIR)$(PATH_SEP)$(DEBUG_LIB)
|
|
|
|
stldebug_static : platform $(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB)
|
|
|
|
release_staticx : platform $(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB)
|
|
|
|
debug_staticx : platform $(OUTDIR)$(PATH_SEP)$(DEBUGX_LIB)
|
|
|
|
stldebug_staticx : platform $(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB)
|
|
|
|
install : all $(INSTALL_STEP)
|
|
|
|
clean : $(CLEAN_SPECIFIC)
|
|
-$(RM) $(RELEASE_OBJDIR_static) $(DEBUG_OBJDIR_static) $(STLDEBUG_OBJDIR_static) \
|
|
$(RELEASE_OBJDIR_staticx) $(DEBUG_OBJDIR_staticx) $(STLDEBUG_OBJDIR_staticx)
|
|
|
|
clobber : clean clean_all_obj
|
|
-$(RM) $(OUTDIR)$(PATH_SEP)$(DEBUG_NAME).* \
|
|
$(OUTDIR)$(PATH_SEP)$(RELEASE_NAME).* $(OUTDIR)$(PATH_SEP)$(STLDEBUG_NAME).*
|
|
|
|
# Need to link with a dummy main process to fully instantiate object files.
|
|
|
|
$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_static) $(DEF_FILE) $(RELEASE_OBJECTS_static)
|
|
echo 'main() { }' >dummy_main.C
|
|
$(CXX) -o junk dummy_main.C $(RELEASE_OBJECTS_static) -lpthread
|
|
rm dummy_main.C
|
|
$(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASE_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJECTS_static) $(LDLIBS_RELEASE_static)
|
|
|
|
$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) : $(OUTDIR) $(RELEASE_OBJDIR_staticx) $(DEF_FILE) $(RELEASE_OBJECTS_staticx)
|
|
echo 'main() { }' >dummy_main.C
|
|
$(CXX) -o junk dummy_main.C $(RELEASE_OBJECTS_staticx) -lpthread
|
|
rm dummy_main.C
|
|
$(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(RELEASEX_LIB) $(LDFLAGS_RELEASE_static) $(RELEASE_OBJECTS_staticx) $(LDLIBS_RELEASE_static)
|
|
|
|
$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_static) $(DEF_FILE) $(STLDEBUG_OBJECTS_static)
|
|
echo 'main() { }' >dummy_main.C
|
|
$(CXX) -o junk dummy_main.C $(STLDEBUG_OBJECTS_static) -lpthread
|
|
rm dummy_main.C
|
|
$(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUG_LIB) $(LDFLAGS_STLDEBUG_static) $(STLDEBUG_OBJECTS_static) $(LDLIBS_STLDEBUG_static)
|
|
|
|
$(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) : $(OUTDIR) $(STLDEBUG_OBJDIR_staticx) $(DEF_FILE) $(STLDEBUG_OBJECTS_staticx)
|
|
echo 'main() { }' >dummy_main.C
|
|
$(CXX) -o junk dummy_main.C $(STLDEBUG_OBJECTS_staticx) -lpthread
|
|
rm dummy_main.C
|
|
$(LINK) $(LINK_OUT)$(OUTDIR)$(PATH_SEP)$(STLDEBUGX_LIB) $(LDFLAGS_STLDEBUG_static) $(STLDEBUG_OBJECTS_staticx) $(LDLIBS_STLDEBUG_static)
|
|
|
|
|
|
#install: all
|
|
# cp -p $(LIB_TARGET) ${D_LIB_TARGET} ../lib
|
|
|
|
%.s: %.cpp
|
|
$(CXX) $(CXXFLAGS) -S $< -o $@
|
|
|
|
|