122 lines
4.7 KiB
Makefile
Executable File
122 lines
4.7 KiB
Makefile
Executable File
# ******************************************************************************
|
|
# * Makefile.hpux-cl: This is the platform specific Makefile for HPUX using
|
|
# * the CenterLine C++ compiler.
|
|
# *
|
|
# * Externals : This Makefile relies on the developer defining the
|
|
# * following external definitions...
|
|
# *
|
|
# * CDEV : The base directory of the CDEV distribution
|
|
# ******************************************************************************
|
|
TARGET = hpux-cl
|
|
SHOBJ = NO
|
|
OS_MAJOR := $(shell uname -r | awk -F "." '{print $$2; exit}')
|
|
OS_MAJOR_NUM := $(shell awk 'BEGIN {VAL=$(OS_MAJOR); print VAL; exit; }')
|
|
OS_MINOR := $(shell uname -r | awk -F "." '{print $$3; exit}')
|
|
OS_MINOR_NUM := $(shell awk 'BEGIN {VAL=$(OS_MINOR); print VAL; exit; }')
|
|
OS_VERSION_DEF := -D_OS_MAJOR_=$(OS_MAJOR_NUM) -D_OS_MINOR_=$(OS_MINOR_NUM)
|
|
|
|
include $(CDEV)/extensions/cdevGenericServer/include/makeinclude/Makefile.common
|
|
include $(CDEV)/include/makeinclude/Makefile.archive
|
|
|
|
ifeq ($(OS_MAJOR_NUM), 9)
|
|
HP_FLAGS = -D_SELECT_USES_INT_
|
|
endif
|
|
|
|
ifeq ($(OS_MAJOR_NUM), 10)
|
|
HP_FLAGS = -Dvolatile=""
|
|
NETLIBS = -lxti
|
|
endif
|
|
|
|
# ******************************************************************************
|
|
# * Platform specific compile and link options.
|
|
# ******************************************************************************
|
|
|
|
# ******************************************************************************
|
|
# * Only specify the DEBUGFLAG if the DEBUG variable has been set.
|
|
# ******************************************************************************
|
|
ifdef DEBUG
|
|
DEBUGFLAG = -g
|
|
endif
|
|
|
|
CXX = /usr/csite4/CenterLine/bin/CC
|
|
CC = cc
|
|
CXXFLAGS = -z -pta -D__CENTERLINE__ $(CXXEXTRA) $(CXXINCLUDES) $(CDEVINCLUDES) \
|
|
$(BASEINCLUDES) $(OS_VERSION_DEF) $(DEBUGFLAG) $(HP_FLAGS) -DSYSV
|
|
CFLAGS = -Aa $(CCEXTRA) $(CXXINCLUDES) $(CDEVINCLUDES) \
|
|
$(BASEINCLUDES) $(OS_VERSION_DEF) $(DEBUGFLAG) -DSYSV
|
|
LDFLAGS = -Wl,+s
|
|
AR = ar
|
|
ARFLAGS = ruv
|
|
RANLIB = true
|
|
DLD = $(CXX)
|
|
SOFLAGS = -b
|
|
PIC =
|
|
SHARED_EXT = sl
|
|
OSLIBS = -lm
|
|
|
|
|
|
# ******************************************************************************
|
|
# * These definitions define the names and locations of libraries that are
|
|
# * required by CDEV for a shared and archive applications. The developer
|
|
# * is required to add the list of service specific libraries.
|
|
# ******************************************************************************
|
|
ifeq ($(SHOBJ), NO)
|
|
CDEVLIBS = $(CDEVLIB)/libcdev.a $(ARCHIVELIBS)
|
|
else
|
|
CDEVLIBS = -L$(CDEVLIB) -lcdev
|
|
endif
|
|
|
|
|
|
# ******************************************************************************
|
|
# * Platform specific compile and link macros.
|
|
# ******************************************************************************
|
|
COMPILE.cc = $(QUIET)$(CXX_CMD_ECHO)rm -rf $@;\
|
|
mkdir -p $(@D);\
|
|
$(CXX) -c $(CXXFLAGS) $^ -o $@
|
|
COMPILE.cc.so = $(QUIET)$(CXX_CMD_ECHO)rm -rf $@;\
|
|
mkdir -p $(@D);\
|
|
$(CXX) -c $(CXXFLAGS) $(PIC) $^ -o $@
|
|
COMPILE.c = $(QUIET)$(CC_CMD_ECHO)rm -rf $@;\
|
|
mkdir -p $(@D);\
|
|
$(CC) -c $(CFLAGS) $^ -o $@
|
|
COMPILE.c.so = $(QUIET)$(CC_CMD_ECHO)rm -rf $@;\
|
|
mkdir -p $(@D);\
|
|
$(CC) -c $(CFLAGS) $(PIC) $^ -o $@
|
|
LINK.cc = $(QUIET)$(LINK_CMD_ECHO)rm -rf $@;\
|
|
mkdir -p $(@D);\
|
|
$(PROOF) $(CXX) $(CXXFLAGS)
|
|
LINK.a = $(QUIET)$(AR_CMD_ECHO)rm -rf $@;\
|
|
mkdir -p $(@D);\
|
|
$(AR) $(ARFLAGS)
|
|
LINK.so = $(QUIET)$(SO_CMD_ECHO)rm -rf $@;\
|
|
mkdir -p $(@D);\
|
|
$(DLD) $(SOFLAGS)
|
|
|
|
|
|
# ******************************************************************************
|
|
# * This is the macro to build a shared object/library.... it requires the
|
|
# * following variables to be defined...
|
|
# *
|
|
# * SO_SRCS : Names of the component source files
|
|
# * SO_LIBS : Names of the dependent libraries
|
|
# * LIBS : All libraries necessary to compile the dummy application
|
|
# ******************************************************************************
|
|
SOBUILD = rm -f $@;\
|
|
mkdir -p $(@D);\
|
|
echo "=> Building shared object $(@F)";\
|
|
echo " => Instanciating templates for $(@F)";\
|
|
echo "int main() {return 0;}" >dummy.cc;\
|
|
$(CXX) -c $(CXXFLAGS) $(PIC) dummy.cc $(SO_SRCS) $(LDFLAGS) -ptr./pt$(@F) -ptr./ptrepository $(SO_LIBS);\
|
|
rm -rf a.out dummy.*;\
|
|
if test -f ./pt$(@F)/*.o;\
|
|
then\
|
|
echo " => Linking $(@F) from objects and template objects";\
|
|
$(LINK.so) -o $@ $^ ./pt$(@F)/*.o $(LIBS);\
|
|
else\
|
|
echo " => Linking $(@F) from objects";\
|
|
$(LINK.so) -o $@ $^ $(SO_LIBS);\
|
|
fi;\
|
|
rm -rf *.o ./pt$(@F)
|
|
|
|
|