2015-02-26 15:02:31 +00:00
|
|
|
|
|
|
|
|
|
# Makefile to build Trick
|
|
|
|
|
|
|
|
|
|
# Make Targets
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# default - Compile Trick-core and Trick Data-products Libraries and Applications.
|
|
|
|
|
# 'no_dp' - Compile Trick-core only.
|
|
|
|
|
# 'dp' - Compile Data-products only.
|
|
|
|
|
# 'java' - Compile Java GUI Applications
|
|
|
|
|
# 'javadoc' - Generate Java Documentation.
|
|
|
|
|
# 'doxygen' - Generate HTML User's Guide.
|
|
|
|
|
# 'test' - Run Unit-tests and Simulation Tests.
|
|
|
|
|
|
|
|
|
|
# $Id: Makefile 3796 2015-02-11 19:53:36Z alin $
|
|
|
|
|
|
|
|
|
|
export TRICK_HOME = $(CURDIR)
|
|
|
|
|
|
|
|
|
|
# Include the build configuration information.
|
|
|
|
|
include $(TRICK_HOME)/makefiles/Makefile.common
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# Specify the contents of: libtrick.a
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
TRICK_LIB = $(TRICK_LIB_DIR)/libtrick.a
|
|
|
|
|
SIM_SERV_DIRS = \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/ExternalApplications \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Clock \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/CheckPointAgent \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/CheckPointRestart \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Collect \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/CommandLineArguments \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/DataRecord \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/DebugPause \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/DMTCP \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/EchoJobs \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Environment \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/EventManager \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Executive \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/FrameLog \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/JITInputFile \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/JSONVariableServer \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Integrator \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/UnitTest \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/MasterSlave \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/MemoryManager \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Message \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/MonteCarlo \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/RealtimeInjector \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/RealtimeSync \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/STL \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/ScheduledJobQueue \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Scheduler \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Sie \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/SimObject \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/SimTime \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/ThreadBase \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Timer \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Units \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/VariableServer \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/Zeroconf \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/include
|
|
|
|
|
SIM_SERV_OBJS = $(addsuffix /object_$(TRICK_HOST_CPU)/*.o ,$(SIM_SERV_DIRS))
|
|
|
|
|
|
|
|
|
|
ER7_UTILS_DIRS = \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/abm4 \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/beeman \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/core \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/euler \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/mm4 \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/nl2 \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/position_verlet \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/rk2_heun \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/rk2_midpoint \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/rk4 \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/rkf45 \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/rkf78 \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/rkg4 \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/symplectic_euler \
|
|
|
|
|
${ER7_UTILS_HOME}/integration/velocity_verlet \
|
|
|
|
|
${ER7_UTILS_HOME}/interface \
|
|
|
|
|
${ER7_UTILS_HOME}/math \
|
|
|
|
|
${ER7_UTILS_HOME}/trick/integration
|
|
|
|
|
ER7_UTILS_OBJS = $(addsuffix /object_$(TRICK_HOST_CPU)/*.o ,$(ER7_UTILS_DIRS))
|
|
|
|
|
|
|
|
|
|
UTILS_DIRS = \
|
|
|
|
|
${TRICK_HOME}/trick_source/trick_utils/interpolator \
|
|
|
|
|
${TRICK_HOME}/trick_source/trick_utils/trick_adt \
|
|
|
|
|
${TRICK_HOME}/trick_source/trick_utils/comm \
|
|
|
|
|
${TRICK_HOME}/trick_source/trick_utils/shm \
|
|
|
|
|
${TRICK_HOME}/trick_source/trick_utils/math \
|
|
|
|
|
${TRICK_HOME}/trick_source/trick_utils/units
|
|
|
|
|
UTILS_OBJS = $(addsuffix /object_$(TRICK_HOST_CPU)/*.o ,$(UTILS_DIRS))
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# Specify the contents of: libtrick_pyip.a
|
|
|
|
|
# This library contains the SWIG generated interface-code between Trick and Python.
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
TRICK_SWIG_LIB = $(TRICK_LIB_DIR)/libtrick_pyip.a
|
|
|
|
|
|
|
|
|
|
SWIG_DIRS = \
|
|
|
|
|
${TRICK_HOME}/trick_source/sim_services/InputProcessor \
|
|
|
|
|
${TRICK_HOME}/trick_source/trick_swig
|
|
|
|
|
|
|
|
|
|
SWIG_OBJS = $(addsuffix /object_$(TRICK_HOST_CPU)/*.o ,$(SWIG_DIRS))
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# Specify where to find units tests.
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
UNIT_TEST_DIRS = \
|
|
|
|
|
$(wildcard ${TRICK_HOME}/trick_source/sim_services/*/test) \
|
|
|
|
|
$(wildcard ${TRICK_HOME}/trick_source/trick_utils/*/test) \
|
|
|
|
|
${TRICK_HOME}/trick_source/data_products/DPX/test/unit_test
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# FIXME:
|
|
|
|
|
# This is only used by the 'clean_test' target below. Seems to me that it really
|
|
|
|
|
# doesn't belong here. Instead, the 'clean' target in
|
|
|
|
|
# $TRICK_HOME/trick_sims/makefile define this.
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
MODEL_DIRS = \
|
|
|
|
|
${TRICK_HOME}/trick_models/Ball++/L1 \
|
|
|
|
|
${TRICK_HOME}/trick_models/ball/L1 \
|
|
|
|
|
${TRICK_HOME}/trick_models/ball/L2 \
|
|
|
|
|
${TRICK_HOME}/trick_models/baseball/aero \
|
|
|
|
|
${TRICK_HOME}/trick_models/baseball/optim \
|
|
|
|
|
${TRICK_HOME}/trick_models/cannon/aero \
|
|
|
|
|
${TRICK_HOME}/trick_models/cannon/graphics \
|
|
|
|
|
${TRICK_HOME}/trick_models/cannon/gravity \
|
|
|
|
|
${TRICK_HOME}/trick_models/cannon/optim \
|
|
|
|
|
${TRICK_HOME}/trick_models/exclude_me \
|
|
|
|
|
${TRICK_HOME}/trick_models/helios \
|
|
|
|
|
${TRICK_HOME}/trick_models/stl_checkpoint \
|
|
|
|
|
${TRICK_HOME}/trick_models/target \
|
|
|
|
|
${TRICK_HOME}/trick_models/test/dp \
|
|
|
|
|
${TRICK_HOME}/trick_models/test/impexp \
|
|
|
|
|
${TRICK_HOME}/trick_models/test/ip \
|
|
|
|
|
${TRICK_HOME}/trick_models/test/ip2 \
|
|
|
|
|
${TRICK_HOME}/trick_models/test/sched \
|
|
|
|
|
${TRICK_HOME}/trick_models/test_ip \
|
|
|
|
|
${TRICK_HOME}/trick_models/threads
|
|
|
|
|
|
|
|
|
|
# The name of the ICG executable indicates the operating system, and the machine
|
|
|
|
|
# hardware on which it is built. This allows pre-build ICG binaries to be
|
|
|
|
|
# distributed in the installation package. The reason for distributing pre-built
|
|
|
|
|
# ICG binaries is because the user's machine may not have the requisite clang
|
|
|
|
|
# libraries.
|
|
|
|
|
ICG_EXE := ${TRICK_HOME}/trick_source/codegen/Interface_Code_Gen/ICG_$(shell uname -s)_$(shell uname -m)
|
|
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
|
# RULES
|
|
|
|
|
################################################################################
|
|
|
|
|
# DEFAULT TARGET
|
|
|
|
|
# 1 Build Trick-core and Trick Data-products.
|
|
|
|
|
all: no_dp dp
|
|
|
|
|
@ echo ; echo "[32mTrick compilation complete:[00m" ; date
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# 1.1 Build Trick-core
|
|
|
|
|
no_dp: $(TRICK_LIB) $(TRICK_SWIG_LIB) $(TRICK_LIB_DIR)/master.o
|
|
|
|
|
@ echo ; echo "Trick libs compiled:" ; date
|
|
|
|
|
|
|
|
|
|
# 1.1.1 Build libTrick.a
|
|
|
|
|
ifeq ($(USE_ER7_UTILS_INTEGRATORS), 1)
|
|
|
|
|
$(TRICK_LIB): $(SIM_SERV_DIRS) $(ER7_UTILS_DIRS) $(UTILS_DIRS) | $(TRICK_LIB_DIR)
|
|
|
|
|
ar crs $@ $(SIM_SERV_OBJS) $(ER7_UTILS_OBJS) $(UTILS_OBJS)
|
|
|
|
|
else
|
|
|
|
|
$(TRICK_LIB): $(SIM_SERV_DIRS) $(UTILS_DIRS) | $(TRICK_LIB_DIR)
|
|
|
|
|
ar crs $@ $(SIM_SERV_OBJS) $(UTILS_OBJS)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
# 1.1.1.1 Compile the objects in the specified sim_services directories.
|
|
|
|
|
.PHONY: $(SIM_SERV_DIRS)
|
|
|
|
|
$(SIM_SERV_DIRS): icg_sim_serv $(TRICK_LIB_DIR)
|
|
|
|
|
@ $(MAKE) -C $@ trick
|
|
|
|
|
|
|
|
|
|
# 1.1.1.2 Compile the objects in the specified utils directories.
|
|
|
|
|
.PHONY: $(UTILS_DIRS)
|
|
|
|
|
$(UTILS_DIRS): icg_sim_serv
|
|
|
|
|
@ $(MAKE) -C $@ trick
|
|
|
|
|
|
|
|
|
|
# 1.1.1.3 Compile the objects in the specified er7_utils directories.
|
|
|
|
|
.PHONY: $(ER7_UTILS_DIRS)
|
|
|
|
|
$(ER7_UTILS_DIRS): TRICK_CXXFLAGS += -Wno-unused-parameter
|
|
|
|
|
$(ER7_UTILS_DIRS): make_er7_makefiles icg_sim_serv
|
|
|
|
|
@ $(MAKE) -C $@ trick
|
|
|
|
|
|
2015-03-02 18:48:17 +00:00
|
|
|
|
ifeq ($(USE_ER7_UTILS_INTEGRATORS), 1)
|
2015-02-26 15:02:31 +00:00
|
|
|
|
.PHONY: make_er7_makefiles
|
|
|
|
|
make_er7_makefiles:
|
|
|
|
|
@for i in $(ER7_UTILS_DIRS) ; do \
|
|
|
|
|
$(CP) ${TRICK_HOME}/trick_source/sim_services/Executive/Makefile $$i; \
|
|
|
|
|
done
|
|
|
|
|
|
2015-03-02 18:48:17 +00:00
|
|
|
|
icg_sim_serv: | make_er7_makefiles
|
|
|
|
|
endif
|
|
|
|
|
|
2015-02-26 15:02:31 +00:00
|
|
|
|
# 1.1.1.4 Generate interface code (using ICG) for the specified sim_services
|
|
|
|
|
# header files.
|
|
|
|
|
.PHONY: icg_sim_serv
|
2015-03-02 18:48:17 +00:00
|
|
|
|
icg_sim_serv: $(ICG_EXE)
|
2015-02-26 15:02:31 +00:00
|
|
|
|
${TRICK_HOME}/bin/ICG -s ${TRICK_CXXFLAGS} ${TRICK_HOME}/trick_source/sim_services/include/files_to_ICG.hh
|
|
|
|
|
|
|
|
|
|
# 1.1.1.4.1 Build the Interface Code Generator (ICG) executable.
|
|
|
|
|
$(ICG_EXE) :
|
|
|
|
|
$(MAKE) -C ${@D}
|
|
|
|
|
|
|
|
|
|
# 1.1.1.5 Create Trick Library directory.
|
|
|
|
|
$(TRICK_LIB_DIR):
|
|
|
|
|
@ mkdir $@
|
|
|
|
|
|
|
|
|
|
# 1.1.2 Build libTrick_pyip.a (Swig Lib)
|
|
|
|
|
$(TRICK_SWIG_LIB): $(SWIG_DIRS) | $(TRICK_LIB_DIR)
|
|
|
|
|
ar crs $@ $(SWIG_OBJS)
|
|
|
|
|
|
|
|
|
|
.PHONY: $(SWIG_DIRS)
|
|
|
|
|
$(SWIG_DIRS): icg_sim_serv $(TRICK_LIB_DIR)
|
|
|
|
|
@ $(MAKE) -C $@ trick
|
|
|
|
|
|
|
|
|
|
# 1.1.3 Build master.o. This object contains the main() function for Trick-based
|
|
|
|
|
# simulations.
|
|
|
|
|
$(TRICK_LIB_DIR)/master.o: | $(TRICK_LIB_DIR)
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/sim_services/mains trick
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# 1.2 Build Trick's Data-products Applications.
|
|
|
|
|
.PHONY: dp
|
|
|
|
|
dp: ${TRICK_HOME}/trick_source/trick_utils/units
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/data_products
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# 1.3 Build Trick's Java Tools
|
|
|
|
|
java:
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/java
|
|
|
|
|
|
|
|
|
|
.PHONY: javadoc
|
|
|
|
|
javadoc:
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/java $@
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# 1.4 This target builds the Trick Documentation.
|
|
|
|
|
.PHONY: doxygen
|
|
|
|
|
doxygen:
|
|
|
|
|
@ $(MAKE) -C $@
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
# 1.5 Some Trick source is auto-generated as part of the Trick's build process. When
|
|
|
|
|
# Trick is distributed to the user community, we can't be certain that everyone's
|
|
|
|
|
# machine will have the approriate versions of the code generations tool. So rather
|
|
|
|
|
# than just hope, we go ahead and pre-generate the necessary source files, and
|
|
|
|
|
# include those in the distribution package.
|
|
|
|
|
# This target pre-generates these source files, that are necessary for creating
|
|
|
|
|
# a distribution package.
|
|
|
|
|
premade:
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/sim_services/MemoryManager premade
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/sim_services/CheckPointAgent premade
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/java
|
|
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
|
# TESTING
|
|
|
|
|
################################################################################
|
|
|
|
|
# This target runs Trick's Unit-tests and simulation-tests.
|
|
|
|
|
test: unit_test sim_test requirements
|
|
|
|
|
@ echo "All tests completed sucessfully"
|
|
|
|
|
|
|
|
|
|
.PHONY: $(UNIT_TEST_DIRS)
|
|
|
|
|
$(UNIT_TEST_DIRS):
|
|
|
|
|
@ $(MAKE) -C $@ test
|
|
|
|
|
|
|
|
|
|
unit_test: $(UNIT_TEST_DIRS)
|
|
|
|
|
|
|
|
|
|
sim_test:
|
|
|
|
|
@ $(MAKE) -C trick_sims test
|
|
|
|
|
|
|
|
|
|
requirements:
|
|
|
|
|
@ $(MAKE) -C trick_test/requirements_docs install
|
|
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
|
# CLEAN Targets
|
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clean: clean_sim_serv clean_utils clean_swig clean_dp clean_ICG
|
|
|
|
|
@/bin/rm -rf $(TRICK_BIN_DIR)
|
|
|
|
|
@/bin/rm -rf $(TRICK_LIB_DIR)
|
|
|
|
|
|
|
|
|
|
ifeq ($(USE_ER7_UTILS_INTEGRATORS), 1)
|
|
|
|
|
clean: clean_er7_utils
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
clean_sim_serv:
|
|
|
|
|
@for i in $(SIM_SERV_DIRS) ; do \
|
|
|
|
|
$(MAKE) -C $$i real_clean ; \
|
|
|
|
|
done
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/sim_services/mains real_clean
|
|
|
|
|
|
|
|
|
|
clean_er7_utils: make_er7_makefiles
|
|
|
|
|
@for i in $(ER7_UTILS_DIRS) ; do \
|
|
|
|
|
$(MAKE) -C $$i real_clean ; \
|
|
|
|
|
rm $$i/Makefile; \
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
clean_utils:
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/trick_utils real_clean
|
|
|
|
|
|
|
|
|
|
clean_swig: make_er7_makefiles
|
|
|
|
|
@for i in $(SWIG_DIRS) ; do \
|
|
|
|
|
$(MAKE) -C $$i real_clean ; \
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
ifeq ($(USE_ER7_UTILS_INTEGRATORS), 1)
|
|
|
|
|
clean_swig: make_er7_makefiles
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifeq ($(DEVELOPER),1)
|
|
|
|
|
clean_ICG :
|
|
|
|
|
$(MAKE) -C ${TRICK_HOME}/trick_source/codegen/Interface_Code_Gen clean
|
|
|
|
|
else
|
|
|
|
|
clean_ICG :
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
clean_unit_test:
|
|
|
|
|
@/bin/rm -rf ${TRICK_HOME}/trick_test/*.xml
|
|
|
|
|
@ for i in $(UNIT_TEST_DIRS) ; do \
|
|
|
|
|
$(MAKE) -C $$i clean ; \
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
clean_doxygen:
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/doxygen clean
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clean_dp:
|
|
|
|
|
@ $(MAKE) clean -C ${TRICK_HOME}/trick_source/data_products
|
|
|
|
|
|
|
|
|
|
clean_java:
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/java clean
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# FIXME: Seems to me that the for loop below should be removed and that the
|
|
|
|
|
# 'clean' target in trick_sims/makefile should be doing this. --Penn
|
|
|
|
|
clean_test: clean_unit_test clean_requirements
|
|
|
|
|
-@ $(MAKE) -C trick_sims clean
|
|
|
|
|
@for i in $(MODEL_DIRS) ; do \
|
|
|
|
|
cd $$i ; /bin/rm -rf io_src object_* swig xml ; \
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
clean_requirements:
|
|
|
|
|
@ $(MAKE) -C trick_test/requirements_docs clean
|
|
|
|
|
|
|
|
|
|
clean_stand_alone_utils:
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/trick_utils clean_stand_alone
|
|
|
|
|
|
|
|
|
|
clean_stand_alone: clean_stand_alone_utils
|
|
|
|
|
|
|
|
|
|
clean_objs_for_rpm: clean_sim_serv clean_er7_utils clean_utils
|
|
|
|
|
|
|
|
|
|
clean_gui: clean_java
|
|
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
|
# INSTALL Targets
|
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
|
|
install: copy_files
|
|
|
|
|
|
|
|
|
|
.PHONY: copy_files
|
|
|
|
|
copy_files: ${PREFIX}/trick/trick-$(TRICK_VERSION) copy_trick_source
|
|
|
|
|
@ cp -r ${TRICK_HOME}/bin ${PREFIX}/trick/trick-$(TRICK_VERSION)
|
|
|
|
|
@ cp ${TRICK_HOME}/config_Linux.mk ${PREFIX}/trick/trick-$(TRICK_VERSION)
|
|
|
|
|
@ cp -r ${TRICK_HOME}/docs ${PREFIX}/trick/trick-$(TRICK_VERSION)
|
|
|
|
|
@ cp -r ${TRICK_HOME}/lib_${TRICK_HOST_CPU} ${PREFIX}/trick/trick-$(TRICK_VERSION)
|
|
|
|
|
@ cp -r ${TRICK_HOME}/makefiles ${PREFIX}/trick/trick-$(TRICK_VERSION)
|
|
|
|
|
@ cp -r ${TRICK_HOME}/man ${PREFIX}/trick/trick-$(TRICK_VERSION)
|
|
|
|
|
|
|
|
|
|
${PREFIX}/trick/trick-$(TRICK_VERSION) :
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
copy_trick_source: copy_codegen copy_er7_utils_dirs copy_sim_objects copy_sim_serv_dirs copy_utils_dirs copy_swig
|
|
|
|
|
|
|
|
|
|
${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source : ${PREFIX}/trick/trick-$(TRICK_VERSION)
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
copy_codegen: ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/codegen/Interface_Code_Gen
|
|
|
|
|
@ cp ${TRICK_HOME}/trick_source/codegen/Interface_Code_Gen/ICG_* ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/codegen/Interface_Code_Gen
|
|
|
|
|
@ cp -r ${TRICK_HOME}/trick_source/codegen/Interface_Code_Gen/lib ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/codegen/Interface_Code_Gen
|
|
|
|
|
|
|
|
|
|
${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/codegen/Interface_Code_Gen : ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
copy_sim_objects: ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source
|
|
|
|
|
@ cp -r ${TRICK_HOME}/trick_source/sim_objects ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
BARE_ER7_UTILS_DIRS = $(patsubst ${TRICK_HOME}/trick_source/er7_utils/%,%,$(ER7_UTILS_DIRS))
|
|
|
|
|
TARGET_ER7_UTILS_DIRS = $(addprefix ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/er7_utils/,$(BARE_ER7_UTILS_DIRS))
|
|
|
|
|
|
|
|
|
|
${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/er7_utils : ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
$(TARGET_ER7_UTILS_DIRS): ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/er7_utils
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
copy_er7_utils_dirs: $(TARGET_ER7_UTILS_DIRS)
|
|
|
|
|
@for i in $(BARE_ER7_UTILS_DIRS) ; do \
|
|
|
|
|
cp -r ${TRICK_HOME}/trick_source/er7_utils/$$i/include ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/er7_utils/$$i ; \
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
BARE_SIM_SERV_DIRS = $(filter-out include,$(notdir $(SIM_SERV_DIRS)))
|
|
|
|
|
BARE_SIM_SERV_DIRS += InputProcessor
|
|
|
|
|
TARGET_SIM_SERV_DIRS = $(addprefix ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/sim_services/,$(BARE_SIM_SERV_DIRS))
|
|
|
|
|
TARGET_SIM_SERV_DIRS += ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/sim_services/include
|
|
|
|
|
|
|
|
|
|
${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/sim_services : ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
$(TARGET_SIM_SERV_DIRS): ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/sim_services
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
copy_sim_serv_dirs: $(TARGET_SIM_SERV_DIRS)
|
|
|
|
|
@ cp ${TRICK_HOME}/trick_source/sim_services/include/*.h ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/sim_services/include
|
|
|
|
|
@ cp ${TRICK_HOME}/trick_source/sim_services/include/*.hh ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/sim_services/include
|
|
|
|
|
@for i in $(BARE_SIM_SERV_DIRS) ; do \
|
|
|
|
|
cp -r ${TRICK_HOME}/trick_source/sim_services/$$i/include ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/sim_services/$$i ; \
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
BARE_UTILS_DIRS = $(notdir $(UTILS_DIRS))
|
|
|
|
|
TARGET_UTILS_DIRS = $(addprefix ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/trick_utils/,$(BARE_UTILS_DIRS))
|
|
|
|
|
|
|
|
|
|
${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/trick_utils : ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
$(TARGET_UTILS_DIRS): ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/trick_utils
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
copy_utils_dirs: $(TARGET_UTILS_DIRS)
|
|
|
|
|
@for i in $(BARE_UTILS_DIRS) ; do \
|
|
|
|
|
cp -r ${TRICK_HOME}/trick_source/trick_utils/$$i/include ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/trick_utils/$$i ; \
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
TARGET_SWIG_DIRS = \
|
|
|
|
|
${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/trick_swig \
|
|
|
|
|
${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/trick_swig/swig_${TRICK_HOST_CPU}
|
|
|
|
|
|
|
|
|
|
$(TARGET_SWIG_DIRS): ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source
|
|
|
|
|
@ mkdir -p $@
|
|
|
|
|
|
|
|
|
|
copy_swig: $(TARGET_SWIG_DIRS)
|
|
|
|
|
@ cp ${TRICK_HOME}/trick_source/trick_swig/*.py ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/trick_swig
|
|
|
|
|
@ cp ${TRICK_HOME}/trick_source/trick_swig/swig_${TRICK_HOST_CPU}/*.py ${PREFIX}/trick/trick-$(TRICK_VERSION)/trick_source/trick_swig/swig_${TRICK_HOST_CPU}
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
uninstall:
|
|
|
|
|
rm -rf ${PREFIX}/trick/trick-$(TRICK_VERSION)
|
|
|
|
|
|
|
|
|
|
###########
|
|
|
|
|
|
|
|
|
|
# These rules run the alternatives command in linux to create links in /usr/local/bin for Trick.
|
|
|
|
|
ifeq ($(TRICK_HOST_TYPE),Linux)
|
|
|
|
|
ALTERNATIVES := $(shell which alternatives || which update-alternatives)
|
|
|
|
|
|
|
|
|
|
#install: set_alternatives
|
|
|
|
|
.PHONY: set_alternatives
|
|
|
|
|
set_alternatives: copy_files
|
|
|
|
|
- ${ALTERNATIVES} --install /usr/local/bin/CP trick ${PREFIX}/trick/trick-$(TRICK_VERSION)/bin/CP 10 \
|
|
|
|
|
--slave /usr/local/bin/ICG ICG /usr/local/trick/trick-$(TRICK_VERSION)/bin/ICG \
|
|
|
|
|
--slave /usr/local/bin/gte gte /usr/local/trick/trick-$(TRICK_VERSION)/bin/gte \
|
|
|
|
|
--slave /usr/local/bin/kill_sim kill_sim /usr/local/trick/trick-$(TRICK_VERSION)/bin/kill_sim \
|
|
|
|
|
--slave /usr/local/bin/sie sie /usr/local/trick/trick-$(TRICK_VERSION)/bin/sie \
|
|
|
|
|
--slave /usr/local/bin/sim_control sim_control /usr/local/trick/trick-$(TRICK_VERSION)/bin/sim_control \
|
|
|
|
|
--slave /usr/local/bin/sniffer sniffer /usr/local/trick/trick-$(TRICK_VERSION)/bin/sniffer \
|
|
|
|
|
--slave /usr/local/bin/trick_dp trick_dp /usr/local/trick/trick-$(TRICK_VERSION)/bin/trick_dp \
|
|
|
|
|
--slave /usr/local/bin/trick_version trick_version /usr/local/trick/trick-$(TRICK_VERSION)/bin/trick_version \
|
|
|
|
|
--slave /usr/local/bin/tv tv /usr/local/trick/trick-$(TRICK_VERSION)/bin/tv
|
|
|
|
|
|
|
|
|
|
#uninstall: remove_alternatives
|
|
|
|
|
.PHONY: remove_alternatives
|
|
|
|
|
remove_alternatives:
|
|
|
|
|
- ${ALTERNATIVES} --remove trick ${PREFIX}/trick/trick-$(TRICK_VERSION)/bin/CP
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
|
# MISCELLANEOUS DEVELOPER UTILITY TARGETS #
|
|
|
|
|
################################################################################
|
|
|
|
|
stand_alone: stand_alone_utils
|
|
|
|
|
stand_alone_utils:
|
|
|
|
|
@ $(MAKE) -C ${TRICK_HOME}/trick_source/trick_utils stand_alone
|
|
|
|
|
|
|
|
|
|
# The below rules are used by Debian based .deb file creating.
|
|
|
|
|
|
|
|
|
|
# ICG all sim_services files (for testing and debugging ICG).
|
|
|
|
|
# The -f flag forces io_src files to be regenerated whether or not they need to be.
|
|
|
|
|
ICG: $(ICG_EXE)
|
|
|
|
|
${TRICK_HOME}/bin/ICG -f -s ${TRICK_CXXFLAGS} ${TRICK_HOME}/trick_source/sim_services/include/files_to_ICG.hh
|
|
|
|
|
|
|
|
|
|
# This builds a tricklib share library.
|
|
|
|
|
trick_lib:
|
|
|
|
|
${TRICK_CPPC} $(SHARED_LIB_OPT) -o $(TRICK_LIB) $(SIM_SERV_OBJS) $(ER7_UTILS_OBJS) $(UTILS_OBJS) $(SWIG_OBJS)
|
|
|
|
|
|