original files of m241
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
IPTARGETS := lib
|
||||
ifneq ($(IPMAKEFILE),)
|
||||
include $(IPMAKEFILE)
|
||||
else
|
||||
include $(IPCOM_ROOT)/Makefile
|
||||
endif
|
||||
include ipcom.mk
|
||||
include ipcom_make.mk
|
||||
|
||||
lib: dirs $(IPLIBFILE)
|
||||
@@ -0,0 +1,189 @@
|
||||
#############################################################################
|
||||
# INTERPEAK MAKEFILE
|
||||
#
|
||||
# Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipcom.mk,v $ $Revision: 1.54.10.2 $
|
||||
# $Source: /home/interpeak/CVSRoot/ipcom/gmake/ipcom.mk,v $
|
||||
# $Author: svc-cmnet $
|
||||
# $State: Exp $ $Locker: $
|
||||
#
|
||||
# INTERPEAK_COPYRIGHT_STRING
|
||||
#
|
||||
#############################################################################
|
||||
ifeq ($(IPCOM),)
|
||||
IPCOM := yes
|
||||
|
||||
#############################################################################
|
||||
# PRODUCT
|
||||
###########################################################################
|
||||
|
||||
IPPROD ?= ipcom
|
||||
-include $(IPCOM_ROOT)/arch/gmake/ipcom_arch.mk
|
||||
|
||||
|
||||
#############################################################################
|
||||
# INCLUDE
|
||||
#############################################################################
|
||||
|
||||
IPINCLUDE += -I$(IPCOM_ROOT)/config
|
||||
IPINCLUDE += -I$(IPCOM_ROOT)/include
|
||||
IPINCLUDE += -I$(IPCOM_ROOT)/src
|
||||
IPINCLUDE += -I$(IPCOM_ROOT)/port/include
|
||||
|
||||
#############################################################################
|
||||
# OBJECTS
|
||||
###########################################################################
|
||||
|
||||
# Configuration
|
||||
ifneq ($(IPPORT),lkm)
|
||||
ifneq ($(IPPORT),las)
|
||||
IPLIBOBJECTS_C += ipcom_config.o
|
||||
IPLIBOBJECTS_C += ipcom_ipd_config.o
|
||||
IPLIBOBJECTS_C += ipcom_telnets_config.o
|
||||
endif
|
||||
endif
|
||||
|
||||
# Main
|
||||
IPLIBOBJECTS += ipcom_bitarray.o
|
||||
IPLIBOBJECTS += ipcom_cache.o
|
||||
IPLIBOBJECTS += ipcom_err_string.o
|
||||
IPLIBOBJECTS += ipcom_flow_fingerprint.o
|
||||
IPLIBOBJECTS += ipcom_getinaddrprefixbyaddr.o
|
||||
IPLIBOBJECTS += ipcom_hash.o
|
||||
IPLIBOBJECTS += ipcom_heap_sort.o
|
||||
IPLIBOBJECTS += ipcom_inet.o
|
||||
IPLIBOBJECTS += ipcom_inet6.o
|
||||
IPLIBOBJECTS += ipcom_inet_ntop.o
|
||||
IPLIBOBJECTS += ipcom_inet_pton.o
|
||||
IPLIBOBJECTS += ipcom_init.o
|
||||
IPLIBOBJECTS += ipcom_list.o
|
||||
IPLIBOBJECTS += ipcom_mask.o
|
||||
IPLIBOBJECTS += ipcom_nae.o
|
||||
IPLIBOBJECTS += ipcom_observer.o
|
||||
IPLIBOBJECTS += ipcom_once.o
|
||||
IPLIBOBJECTS += ipcom_pkt_util.o
|
||||
IPLIBOBJECTS += ipcom_pqueue.o
|
||||
IPLIBOBJECTS += ipcom_route.o
|
||||
IPLIBOBJECTS += ipcom_set.o
|
||||
IPLIBOBJECTS += ipcom_sock2.o
|
||||
IPLIBOBJECTS += ipcom_sysvar.o
|
||||
IPLIBOBJECTS += ipcom_sysvar2.o
|
||||
IPLIBOBJECTS += ipcom_sysvar_conf.o
|
||||
IPLIBOBJECTS += ipcom_usr_init.o
|
||||
IPLIBOBJECTS += ipcom_netlink.o
|
||||
|
||||
ifneq ($(IPPORT),lkm)
|
||||
# Files that should be in LAS but not in LKM
|
||||
IPLIBOBJECTS += ipcom_syslog_data.o
|
||||
IPLIBOBJECTS += ipcom_strlib.o
|
||||
IPLIBOBJECTS += ipcom_buffer.o
|
||||
IPLIBOBJECTS += ipcom_dmalloc.o
|
||||
IPLIBOBJECTS += ipcom_getsockaddrbyaddr.o
|
||||
IPLIBOBJECTS += ipcom_file.o
|
||||
IPLIBOBJECTS += ipcom_func.o
|
||||
IPLIBOBJECTS += ipcom_getline.o
|
||||
IPLIBOBJECTS += ipcom_getopt.o
|
||||
IPLIBOBJECTS += ipcom_tmo.o
|
||||
IPLIBOBJECTS += ipcom_tmo2.o
|
||||
ifneq ($(IPPORT),las)
|
||||
IPLIBOBJECTS += ipcom_auth.o
|
||||
IPLIBOBJECTS += ipcom_auth_login.o
|
||||
IPLIBOBJECTS += ipcom_drv_eth_filter.o
|
||||
IPLIBOBJECTS += ipcom_ipd.o
|
||||
IPLIBOBJECTS += ipcom_prof.o
|
||||
IPLIBOBJECTS += ipcom_stdio_syslog.o
|
||||
IPLIBOBJECTS += ipcom_mshell.o
|
||||
IPLIBOBJECTS += ipcom_shell.o
|
||||
IPLIBOBJECTS += ipcom_shellalias.o
|
||||
IPLIBOBJECTS += ipcom_shellcmd.o
|
||||
IPLIBOBJECTS += ipcom_shellctx.o
|
||||
IPLIBOBJECTS += ipcom_shellfile.o
|
||||
IPLIBOBJECTS += ipcom_shellio.o
|
||||
IPLIBOBJECTS += ipcom_shell_start.o
|
||||
IPLIBOBJECTS += ipcom_syslogd.o
|
||||
IPLIBOBJECTS += ipcom_telnet.o
|
||||
IPLIBOBJECTS += ipcom_waitif.o
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(IPPORT),las)
|
||||
IPLIBOBJECTS += ipcom_pipe.o
|
||||
endif
|
||||
|
||||
# Shell commands
|
||||
IPLIBOBJECTS += ipcom_cmd.o
|
||||
ifneq ($(IPPORT),lkm)
|
||||
ifneq ($(IPPORT),las)
|
||||
IPLIBOBJECTS += ipcom_cmd_echo.o
|
||||
IPLIBOBJECTS += ipcom_cmd_ipd.o
|
||||
IPLIBOBJECTS += ipcom_cmd_shellcmds.o
|
||||
IPLIBOBJECTS += ipcom_cmd_sockperf.o
|
||||
IPLIBOBJECTS += ipcom_cmd_socktest.o
|
||||
IPLIBOBJECTS += ipcom_cmd_syslog.o
|
||||
IPLIBOBJECTS += ipcom_cmd_sysvar.o
|
||||
IPLIBOBJECTS += ipcom_cmd_tracert.o
|
||||
IPLIBOBJECTS += ipcom_cmd_ttcp.o
|
||||
IPLIBOBJECTS += ipcom_cmd_user.o
|
||||
IPLIBOBJECTS += ipcom_cmd_version.o
|
||||
IPLIBOBJECTS += ipcom_cmd_mib2.o
|
||||
IPLIBOBJECTS += ipcom_cmd_smptest.o
|
||||
IPLIBOBJECTS += ipcom_cmd_cpu.o
|
||||
#IPLIBOBJECTS += ipcom_cmd_wlan.o
|
||||
endif
|
||||
endif
|
||||
|
||||
###########################################################################
|
||||
# Market Specific Platform
|
||||
###########################################################################
|
||||
|
||||
ifneq ($(FEATURE_SET),)
|
||||
ifneq ($(FEATURE_SET),gpp)
|
||||
|
||||
IPLIBOBJECTS += ipcom_key_db.o
|
||||
|
||||
ifneq ($(IPPORT),las)
|
||||
IPLIBOBJECTS += ipcom_forwarder_common.o
|
||||
IPLIBOBJECTS += ipcom_forwarder_ctrl.o
|
||||
IPLIBOBJECTS += ipcom_forwarder_data.o
|
||||
IPLIBOBJECTS += ipcom_forwarder_ipsec.o
|
||||
IPLIBOBJECTS += ipcom_forwarder_svlan.o
|
||||
ifneq ($(IPPORT),lkm)
|
||||
IPLIBOBJECTS += ipcom_cmd_fwctrl.o
|
||||
IPLIBOBJECTS += ipcom_cmd_svlanfwd.o
|
||||
IPLIBOBJECTS += ipcom_cmd_keydb.o
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
###########################################################################
|
||||
|
||||
|
||||
# Compiles the xxx_config.o if the $SKIP_CONFIG macro is either not defined
|
||||
# or set to anything other than true.
|
||||
ifneq ($(SKIP_CONFIG),true)
|
||||
IPLIBOBJECTS += $(IPLIBOBJECTS_C)
|
||||
endif
|
||||
|
||||
|
||||
#############################################################################
|
||||
# VPATH
|
||||
###########################################################################
|
||||
|
||||
IPSRCDIRS += $(IPCOM_ROOT)/src
|
||||
IPSRCDIRS += $(IPCOM_ROOT)/config
|
||||
|
||||
|
||||
#############################################################################
|
||||
# LIB
|
||||
###########################################################################
|
||||
|
||||
# Library
|
||||
IPLIBS += $(IPLIBROOT)/libipcom.a
|
||||
|
||||
|
||||
endif
|
||||
#############################################################################
|
||||
# END OF IPCOM.MK
|
||||
#############################################################################
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
#############################################################################
|
||||
# INTERPEAK MAKEFILE
|
||||
#
|
||||
# Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipcom_defs.mk,v $ $Revision: 1.34.10.1 $
|
||||
# $Source: /home/interpeak/CVSRoot/ipcom/gmake/ipcom_defs.mk,v $
|
||||
# $Author: xxiong $
|
||||
# $State: Exp $ $Locker: $
|
||||
#
|
||||
# INTERPEAK_COPYRIGHT_STRING
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
include $(IPCOM_ROOT)/port/$(IPPORT)/gmake/ipcom_$(IPPORT)_config.mk
|
||||
|
||||
# Port
|
||||
IPPRODS += $(IPCOM_ROOT)
|
||||
IPPRODS += $(IPCOM_ROOT)/port/$(IPPORT)
|
||||
|
||||
# Stack
|
||||
IPPRODS += $(IPNET_ROOT)
|
||||
IPPRODS += $(IPLITE_ROOT)
|
||||
IPPRODS += $(IPTCP_ROOT)
|
||||
IPPRODS += $(IPSCTP_ROOT)
|
||||
IPPRODS += $(IPPPP_ROOT)
|
||||
IPPRODS += $(IPIPSEC_ROOT)
|
||||
IPPRODS += $(IPFIREWALL_ROOT)
|
||||
IPPRODS += $(IPCCI_ROOT)
|
||||
IPPRODS += $(IPMCRYPTO_ROOT)
|
||||
|
||||
# Applications
|
||||
IPPRODS += $(IPIFPROXY_ROOT)
|
||||
IPPRODS += $(IP8021X_ROOT)
|
||||
IPPRODS += $(IPANVL_ROOT)
|
||||
IPPRODS += $(IPAPPL_ROOT)
|
||||
IPPRODS += $(IPCCI_ROOT)
|
||||
IPPRODS += $(IPCRYPTO_ROOT)
|
||||
IPPRODS += $(IPDHCPC6_ROOT)
|
||||
IPPRODS += $(IPDHCPR_ROOT)
|
||||
IPPRODS += $(IPDHCPS6_ROOT)
|
||||
IPPRODS += $(IPDHCPS_ROOT)
|
||||
IPPRODS += $(IPDIAMETER_ROOT)
|
||||
IPPRODS += $(IPEAP_ROOT)
|
||||
IPPRODS += $(IPEMANATE_ROOT)
|
||||
IPPRODS += $(IPCAVIUM_ROOT)
|
||||
IPPRODS += $(IPFREESCALE_ROOT)
|
||||
IPPRODS += $(IPHWCRYPTO_ROOT)
|
||||
IPPRODS += $(IPIKE_ROOT)
|
||||
IPPRODS += $(IPL2TP_ROOT)
|
||||
IPPRODS += $(IPLDAPC_ROOT)
|
||||
IPPRODS += $(IPMCP_ROOT)
|
||||
IPPRODS += $(IPMIP4_ROOT)
|
||||
IPPRODS += $(IPMIP6CN_ROOT)
|
||||
IPPRODS += $(IPMIP6HA_ROOT)
|
||||
IPPRODS += $(IPMIP6MN_ROOT)
|
||||
IPPRODS += $(IPMIP6PM_ROOT)
|
||||
IPPRODS += $(IPMIP6_ROOT)
|
||||
IPPRODS += $(IPMIPFA_ROOT)
|
||||
IPPRODS += $(IPMIPHA_ROOT)
|
||||
IPPRODS += $(IPMIPMN_ROOT)
|
||||
IPPRODS += $(IPMLDS_ROOT)
|
||||
IPPRODS += $(IPMPLS_ROOT)
|
||||
IPPRODS += $(IPNETPERF_ROOT)
|
||||
IPPRODS += $(IPNETSNMP_ROOT)
|
||||
IPPRODS += $(IPNGC_ROOT)
|
||||
IPPRODS += $(IPPRISM_ROOT)
|
||||
IPPRODS += $(IPQUAGGA_ROOT)
|
||||
IPPRODS += $(IPRADIUS_ROOT)
|
||||
IPPRODS += $(IPRIPNG_ROOT)
|
||||
IPPRODS += $(IPRIP_ROOT)
|
||||
IPPRODS += $(IPSAFENET_ROOT)
|
||||
IPPRODS += $(IPSNMP_ROOT)
|
||||
IPPRODS += $(IPSNTP_ROOT)
|
||||
IPPRODS += $(IPSSH_ROOT)
|
||||
IPPRODS += $(IPSSLPROXY_ROOT)
|
||||
IPPRODS += $(IPSSL_ROOT)
|
||||
IPPRODS += $(IPWEBS_ROOT)
|
||||
IPPRODS += $(IPXINC_ROOT)
|
||||
IPPRODS += $(WRSNMP_ROOT)
|
||||
IPPRODS += $(IPRIPNG_ROOT)
|
||||
IPPRODS += $(IPDIAMETER_ROOT)
|
||||
IPPRODS += $(IPWLAN_ROOT)
|
||||
IPPRODS += $(IPROUTE2_ROOT)
|
||||
IPPRODS += $(IPMIPPM_ROOT)
|
||||
IPPRODS += $(IPMIP_ROOT)
|
||||
IPPRODS += $(VXCOMPAT_ROOT)
|
||||
IPPRODS += $(VXMUX_ROOT)
|
||||
IPPRODS += $(IPROHC_ROOT)
|
||||
IPPRODS += $(VXBRIDGE_ROOT)
|
||||
IPPRODS += $(VXCOREIP_ROOT)
|
||||
IPPRODS += $(IPWPS_ROOT)
|
||||
IPPRODS += $(VXDOT1X_ROOT)
|
||||
IPPRODS += $(IPMACSEC_ROOT)
|
||||
IPPRODS += $(IPPTP_ROOT)
|
||||
IPPRODS += $(TSN_ROOT)
|
||||
IPPRODS += $(IPNTP_ROOT)
|
||||
IPPRODS += $(WRNAD_ROOT)
|
||||
IPPRODS += $(IFPROXY_ROOT)
|
||||
|
||||
ifeq ($(IPTARGETS),)
|
||||
include $(IPCOM_ROOT)/gmake/ipcom_make.mk
|
||||
endif
|
||||
|
||||
|
||||
#############################################################################
|
||||
# END OF IPCOM_DEFS.MK
|
||||
#############################################################################
|
||||
@@ -0,0 +1,573 @@
|
||||
#############################################################################
|
||||
# INTERPEAK MAKEFILE
|
||||
#
|
||||
# Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipcom_make.mk,v $ $Revision: 1.69 $
|
||||
# $Source: /home/interpeak/CVSRoot/ipcom/gmake/ipcom_make.mk,v $
|
||||
# $Author: rboden $
|
||||
# $State: Exp $ $Locker: $
|
||||
#
|
||||
# INTERPEAK_COPYRIGHT_STRING
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
#############################################################################
|
||||
# MACROS
|
||||
#############################################################################
|
||||
|
||||
# library root.
|
||||
ifeq ($(WIND_IPNET),true)
|
||||
IPLIBROOT = $(IPOBJDIR)/..
|
||||
else
|
||||
ifeq ($(WIND_IPLITE),true)
|
||||
IPLIBROOT = $(IPOBJDIR)/..
|
||||
else
|
||||
IPLIBROOT = $(IPOBJDIR)/lib
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
#############################################################################
|
||||
# COMPILATION DEFAULTS
|
||||
#############################################################################
|
||||
|
||||
IPLD = $(IPCC)
|
||||
ifeq ("$(IPCOMPILER)","shc")
|
||||
IPCCOUT = -object=$@
|
||||
IPAROUT = -output=$@
|
||||
else
|
||||
ifeq ("$(IPCOMPILER)","MSVC")
|
||||
IPCCOUT = -Fo$@
|
||||
IPAROUT = /out:$@
|
||||
else
|
||||
IPCCOUT = -o $@
|
||||
IPAROUT = $@
|
||||
endif
|
||||
endif
|
||||
IPARTAIL =
|
||||
IPLIBPREFIX = lib
|
||||
IPLIBSUFFIX = .a
|
||||
IPBINSUFFIX = .elf
|
||||
|
||||
|
||||
#############################################################################
|
||||
# HOST COMMANDS
|
||||
#############################################################################
|
||||
|
||||
ifndef IPHOST
|
||||
UNAME := $(shell uname)
|
||||
ifeq ($(UNAME),Linux)
|
||||
IPHOST = unix
|
||||
else
|
||||
ifeq ($(UNAME),SunOS)
|
||||
IPHOST = unix
|
||||
else
|
||||
ifeq ($(UNAME),LynxOS)
|
||||
IPHOST = LynxOS
|
||||
else
|
||||
IPHOST = win32
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifeq ($(IPVERBOSE),yes)
|
||||
IPVERB =
|
||||
else
|
||||
IPVERB = @
|
||||
endif
|
||||
ifeq ($(IPHOST),LynxOS)
|
||||
IPMKDIR = mkdir -pf
|
||||
else
|
||||
IPMKDIR = mkdir -p
|
||||
endif
|
||||
|
||||
IPCD = cd
|
||||
IPCP = cp
|
||||
IPECHO = echo
|
||||
IPRM = rm -f
|
||||
IPRMDIR = rm -rf
|
||||
IPTEST = test -f
|
||||
|
||||
|
||||
#############################################################################
|
||||
# MACROS
|
||||
#############################################################################
|
||||
|
||||
IPDEFINE ?=
|
||||
IPINCLUDE ?=
|
||||
|
||||
ifneq ($(FEATURE_SET),)
|
||||
ifneq ($(FEATURE_SET),gpp)
|
||||
IPDEFINE += -DIPNET_MSP_DISTRIBUTION
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(findstring lib,$(IPTARGETS)),lib)
|
||||
ifeq ($(WIND_IPNET),true)
|
||||
IPLIBFILE = $(IPLIBROOT)/$(IPLIBPREFIX)$(IPPROD)$(OPT)$(IPLIBSUFFIX)
|
||||
else
|
||||
ifeq ($(WIND_IPLITE),true)
|
||||
IPLIBFILE = $(IPLIBROOT)/$(IPLIBPREFIX)$(IPPROD)$(OPT)$(IPLIBSUFFIX)
|
||||
else
|
||||
IPLIBFILE := $(IPLIBROOT)/$(IPLIBPREFIX)$(IPPROD)$(IPLIBSUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
IPLIBOBJS := $(addprefix $(IPOBJDIR)/$(IPPROD)/,$(IPLIBOBJECTS))
|
||||
IPARLIBOBJS := $(IPLIBOBJECTS)
|
||||
IPARLIBDIR := $(IPOBJDIR)/$(IPPROD)
|
||||
IPLINTS := $(addprefix $(IPOBJDIR)/,$(IPLIBOBJECTS))
|
||||
IPBINARY = $(IPOBJDIR)/ipout$(IPBINSUFFIX)
|
||||
IPPRODOBJ := $(addprefix $(IPOBJDIR)/,$(IPOBJECTS))
|
||||
IPOBJECTS =
|
||||
IPCOMMA = ,
|
||||
ifeq ("$(IPCOMPILER)","shc")
|
||||
ifneq ($(IPLIBDEFINE),)
|
||||
IPLIBDEF := $(patsubst -D%,$(IPCOMMA)%,$(IPLIBDEFINE))
|
||||
endif
|
||||
ifneq ($(IPLIBINCLUDE),)
|
||||
IPLIBINC := $(patsubst -I%,$(IPCOMMA)%,$(IPLIBINCLUDE))
|
||||
endif
|
||||
else
|
||||
IPLIBFLAG := $(IPLIBCFLAGS)
|
||||
IPLIBDEF := $(IPLIBDEFINE)
|
||||
IPLIBINC := $(IPLIBINCLUDE)
|
||||
endif
|
||||
IPVPATH := $(IPSRCDIRS)
|
||||
IPASVPATH := $(IPASDIRS)
|
||||
|
||||
ifeq ($(IPPORT),lkm)
|
||||
IPMAKE = $(MAKE) IPCOMPILER="$(IPCOMPILER)" IPCC="$(IPCOMPILER)"
|
||||
else
|
||||
IPMAKE = $(MAKE) IPCOMPILER="$(IPCOMPILER)"
|
||||
endif
|
||||
|
||||
|
||||
# Export these variables to submakes
|
||||
export IPCOM_ROOT
|
||||
export BASE_ROOT
|
||||
export IPPORT
|
||||
export IPBUILD
|
||||
export IPVERBOSE
|
||||
ifdef IPMAKEFILE
|
||||
export IPMAKEFILE
|
||||
endif
|
||||
|
||||
ifeq ($(IPTESTENGINE),yes)
|
||||
IPDEFINE += -DIPTESTENGINE
|
||||
endif
|
||||
|
||||
# Used by build test to exclude IPv4
|
||||
ifeq ($(IPCOM_USE_INET),no)
|
||||
IPDEFINE += -DIPCOM_EXCLUDE_INET
|
||||
endif
|
||||
|
||||
# SMP configuration,
|
||||
ifeq ($(IPSMP),ready)
|
||||
IPDEFINE += -DIPCOM_SMP_READY
|
||||
endif
|
||||
ifeq ($(IPSMP),optimized)
|
||||
IPDEFINE += -DIPCOM_SMP_OPTIMIZED
|
||||
endif
|
||||
|
||||
ifneq ($(IPARCH),)
|
||||
IPDEFINE += -DIPARCH_$(IPARCH)
|
||||
endif
|
||||
|
||||
|
||||
#############################################################################
|
||||
# USAGE
|
||||
#############################################################################
|
||||
|
||||
.PHONY: usage usage1 pusage usage2 usage3
|
||||
|
||||
usage: usage1 pusage usage2 usage3
|
||||
|
||||
usage1:
|
||||
@$(IPECHO) ""
|
||||
@$(IPECHO) "This is an Interpeak demo GNU makefile."
|
||||
@$(IPECHO) "Please check ipcom_config.mk for configuration options!"
|
||||
@$(IPECHO) ""
|
||||
@$(IPECHO) "Configuration:"
|
||||
# @$(IPECHO) " IPHOST = $(IPHOST)"
|
||||
@$(IPECHO) " IPPORT = $(IPPORT)"
|
||||
@$(IPECHO) " IPBUILD = $(IPBUILD)"
|
||||
@$(IPECHO) " IPTARGET = $(IPTARGET)"
|
||||
ifneq ($(IPARCH),)
|
||||
@$(IPECHO) " IPARCH = $(IPARCH)"
|
||||
endif
|
||||
@$(IPECHO) " IPVER = $(IPVER)"
|
||||
@$(IPECHO) " IPCOMPILER = $(IPCOMPILER)"
|
||||
@$(IPECHO) " IPOBJDIR = $(IPOBJDIR)"
|
||||
@$(IPECHO) " IPPRODOBJ = $(IPPRODOBJ)"
|
||||
|
||||
usage2:
|
||||
@$(IPECHO) "Products:"
|
||||
ifeq ($(IPWIN32_MAKE_FOR_FIX),yes)
|
||||
@$(IPVERB)for %p in ($(IPPRODS)) do \
|
||||
if [ -d $$prod ]; then @$(IPECHO) " %p"; fi
|
||||
else
|
||||
@$(IPVERB)for prod in $(IPPRODS); do \
|
||||
if [ -d $$prod ]; then $(IPECHO) " $$prod"; fi; \
|
||||
done
|
||||
endif
|
||||
|
||||
usage3:
|
||||
@$(IPECHO) "Targets:"
|
||||
@$(IPECHO) " all build all"
|
||||
@$(IPECHO) " cleanall remove all"
|
||||
@$(IPECHO) " cleanlib cleanobj + remove library"
|
||||
@$(IPECHO) " cleanobj remove library objects"
|
||||
@$(IPECHO) " lib build library"
|
||||
@$(IPECHO) " liball build all libraries"
|
||||
@$(IPECHO) " new cleanall + all"
|
||||
|
||||
|
||||
#############################################################################
|
||||
# IPBUILD
|
||||
#############################################################################
|
||||
# IPBUILD = debug | speed | debugspeed | normal | size
|
||||
|
||||
ifeq ($(IPBUILD),debug)
|
||||
IPDEFINE += -DIP_DEBUG
|
||||
IPDEFINE += -DIP_ASSERT
|
||||
endif
|
||||
|
||||
ifeq ($(IPBUILD),debugspeed)
|
||||
IPDEFINE += -DIP_DEBUG
|
||||
IPDEFINE += -DIP_ASSERT
|
||||
endif
|
||||
|
||||
ifeq ($(IPBUILD),size)
|
||||
IPDEFINE += -DIP_SIZE
|
||||
endif
|
||||
|
||||
|
||||
#############################################################################
|
||||
# lib
|
||||
#############################################################################
|
||||
|
||||
.PHONY: lib
|
||||
|
||||
|
||||
#############################################################################
|
||||
# nop
|
||||
#############################################################################
|
||||
|
||||
.PHONY: nop
|
||||
|
||||
nop:
|
||||
|
||||
|
||||
#############################################################################
|
||||
# PRODUCTS
|
||||
#############################################################################
|
||||
|
||||
-include $(foreach prod,$(IPPRODS),$(prod)/gmake/$(firstword $(subst -,$(empty) $(empty),$(notdir $(prod)))).mk)
|
||||
|
||||
|
||||
#############################################################################
|
||||
# PORT
|
||||
#############################################################################
|
||||
|
||||
include $(IPCOM_ROOT)/port/$(IPPORT)/gmake/ipcom_$(IPPORT)_make.mk
|
||||
|
||||
|
||||
#############################################################################
|
||||
# DEFINE/INCLUDE
|
||||
#############################################################################
|
||||
|
||||
# itron compiler only
|
||||
ifeq ("$(IPCOMPILER)","shc")
|
||||
ifneq ($(IPDEFINE),)
|
||||
IPDEF := -define=IP_COMPILER_SHC $(patsubst -D%,$(IPCOMMA)%,$(IPDEFINE))
|
||||
endif
|
||||
ifneq ($(IPINCLUDE),)
|
||||
IPINC = $(patsubst -I%,$(IPCOMMA)%,$(IPINCLUDE))
|
||||
endif
|
||||
IPCFLAGS += -include=$(dir $<)$(IPLIBINC)$(IPINC)
|
||||
|
||||
# all other compilers
|
||||
else
|
||||
IPDEF := $(IPDEFINE)
|
||||
IPINC := $(IPINCLUDE)
|
||||
ifeq ($(IPPORT),vxworks)
|
||||
# Avoid including OpenSSL files from the VxWorks distribution
|
||||
IPCFLAGS := $(IPINC) $(IPLIBINC) $(IPEXTRACFLAGS) $(IPCFLAGS)
|
||||
else
|
||||
IPCFLAGS += $(IPEXTRACFLAGS) $(IPLIBINC) $(IPINC)
|
||||
endif
|
||||
IPASFLAGS += $(IPDEF) $(IPLIBDEF)
|
||||
endif
|
||||
|
||||
# generic
|
||||
IPCFLAGS += $(IPDEF) $(IPLIBDEF)
|
||||
IPCFLAGS += $(IPLIBFLAG)
|
||||
|
||||
|
||||
#############################################################################
|
||||
# obj
|
||||
#############################################################################
|
||||
|
||||
IPOBJS = $(addprefix $(IPOBJDIR)/,$(IPOBJECTS))
|
||||
IPOBJS += $(IPABSOBJECTS)
|
||||
|
||||
.PHONY: obj
|
||||
|
||||
obj: dirs $(IPPRODOBJ)
|
||||
|
||||
|
||||
#############################################################################
|
||||
# DIRS
|
||||
#############################################################################
|
||||
|
||||
.PHONY: dirs pdirs
|
||||
|
||||
dirs: $(IPOBJDIR)/$(IPPROD) $(IPLIBROOT) pdirs
|
||||
|
||||
$(IPOBJDIR)/$(IPPROD):
|
||||
$(IPVERB)$(IPMKDIR) $(IPOBJDIR)
|
||||
$(IPVERB)$(IPMKDIR) $(IPOBJDIR)/$(IPPROD)
|
||||
|
||||
$(IPLIBROOT):
|
||||
$(IPVERB)$(IPMKDIR) $(IPLIBROOT)
|
||||
|
||||
|
||||
#############################################################################
|
||||
# CLEAN
|
||||
#############################################################################
|
||||
|
||||
.PHONY: cleanobj cleanlib cleanall pcleanobj pcleanall
|
||||
|
||||
cleanobj: pcleanobj
|
||||
@$(IPECHO) "+++ Removing $(IPOBJDIR)/$(IPPROD)"
|
||||
$(IPVERB)$(IPRMDIR) $(IPOBJDIR)/$(IPPROD)
|
||||
|
||||
cleanlib: cleanobj
|
||||
@$(IPECHO) "+++ Removing $(IPLIBFILE)"
|
||||
$(IPVERB)$(IPRM) $(IPLIBFILE)
|
||||
|
||||
cleanall: pcleanall
|
||||
ifeq ($(WIND_IPNET),true)
|
||||
@$(IPECHO) "+++ Removing IPNET archives"
|
||||
$(IPVERB)$(IPRM) $(IPLIBS)
|
||||
endif
|
||||
ifeq ($(WIND_IPLITE),true)
|
||||
@$(IPECHO) "+++ Removing IPLITE archives"
|
||||
$(IPVERB)$(IPRM) $(IPLIBS)
|
||||
endif
|
||||
@$(IPECHO) "+++ Removing $(IPOBJDIR)"
|
||||
$(IPVERB)$(IPRMDIR) $(IPOBJDIR)
|
||||
|
||||
|
||||
#############################################################################
|
||||
# NEW
|
||||
#############################################################################
|
||||
|
||||
.PHONY: new
|
||||
|
||||
new: cleanall all
|
||||
|
||||
|
||||
#############################################################################
|
||||
# BIN
|
||||
#############################################################################
|
||||
|
||||
.PHONY: bin
|
||||
|
||||
|
||||
#############################################################################
|
||||
# LIBALL
|
||||
#############################################################################
|
||||
|
||||
.PHONY: liball
|
||||
|
||||
liball:
|
||||
ifeq ($(IPWIN32_MAKE_FOR_FIX),yes)
|
||||
$(IPVERB)for %p in ($(IPPRODS)) do \
|
||||
$(IPMAKE) -C %p/gmake lib
|
||||
else
|
||||
$(IPVERB)for prod in $(IPPRODS); do \
|
||||
if [ -d $$prod ]; then \
|
||||
$(IPECHO) "+++ Making library: $$prod"; \
|
||||
$(IPMAKE) -C $$prod/gmake lib || exit 1; \
|
||||
$(IPECHO) ""; \
|
||||
fi; \
|
||||
done
|
||||
endif
|
||||
|
||||
|
||||
#############################################################################
|
||||
# BINALL
|
||||
#############################################################################
|
||||
|
||||
.PHONY: binall
|
||||
|
||||
binall:
|
||||
ifeq ($(IPWIN32_MAKE_FOR_FIX),yes)
|
||||
$(IPVERB)for %p in ($(IPPRODS)) do \
|
||||
$(IPMAKE) -C %p/gmake bin
|
||||
else
|
||||
$(IPVERB)for prod in $(IPPRODS); do \
|
||||
if [ -d $$prod ]; then \
|
||||
$(IPECHO) "+++ Making binaries in: $$prod"; \
|
||||
$(IPMAKE) -C $$prod/gmake bin || exit 1; \
|
||||
$(IPECHO) ""; \
|
||||
fi; \
|
||||
done
|
||||
endif
|
||||
|
||||
|
||||
#############################################################################
|
||||
# OBJALL
|
||||
#############################################################################
|
||||
|
||||
.PHONY: objall
|
||||
|
||||
objall:
|
||||
ifeq ($(IPWIN32_MAKE_FOR_FIX),yes)
|
||||
$(IPVERB)for %p in ($(IPPRODS)) do \
|
||||
$(IPMAKE) -C %p/gmake obj
|
||||
else
|
||||
$(IPVERB)for prod in $(IPPRODS); do \
|
||||
if [ -d $$prod ]; then \
|
||||
$(IPECHO) "+++ Making object: $$prod"; \
|
||||
$(IPMAKE) -C $$prod/gmake obj || exit 1;\
|
||||
$(IPECHO) ""; \
|
||||
fi; \
|
||||
done
|
||||
endif
|
||||
|
||||
|
||||
#############################################################################
|
||||
# LINT
|
||||
#############################################################################
|
||||
# linux or win32 only.
|
||||
|
||||
.PHONY: lint lintall
|
||||
|
||||
ifeq ($(IPHOST),unix)
|
||||
IPLINT = -$(IPCOM_ROOT)/util/flexelint/bin/flint-linux
|
||||
IPLINT += -I/usr/include
|
||||
IPLINT += -I/usr/include/sys
|
||||
IPLINT += -I/usr/include/linux
|
||||
#IPLINT += -"dsize_t=unsigned int"
|
||||
#test 16bit int: IPLINT += -si2
|
||||
else
|
||||
IPLINT = -$(IPCOM_ROOT)/util/flexelint/bin/lint-nt.exe
|
||||
endif
|
||||
IPLINT += $(IPCOM_ROOT)/util/flexelint/lint
|
||||
IPLINT += -I$(IPCOM_ROOT)/util/flexelint
|
||||
|
||||
_IPLINTS = $(patsubst %.o,%.l,$(IPLINTS))
|
||||
|
||||
|
||||
lint: $(_IPLINTS)
|
||||
|
||||
lintall:
|
||||
$(IPVERB)for prod in $(IPPRODS); do \
|
||||
if [ -d $$prod ]; then \
|
||||
$(IPECHO) "+++ Linting: $$prod"; \
|
||||
$(IPMAKE) -C $$prod/gmake lint || exit 1; \
|
||||
$(IPECHO) ""; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
|
||||
#############################################################################
|
||||
# DEPENDENCIES
|
||||
#############################################################################
|
||||
|
||||
vpath %.c $(IPVPATH)
|
||||
vpath %.s $(IPASVPATH)
|
||||
vpath %.ppc $(IPASVPATH)
|
||||
|
||||
LIBS_TOCLEAN =
|
||||
|
||||
ifeq ("$(IPCOMPILER)","shc")
|
||||
IPLIBS := $(patsubst %,-library=%,$(IPLIBS))
|
||||
$(IPBINARY): liball objall
|
||||
@$(IPECHO) "+++ Linking $@"
|
||||
$(IPLD) -output=$@ $(IPLDFLAGS) $(IPOBJS) $(IPLIBS) $(IPLASTLIBS) $(IPMAPFILE)
|
||||
else
|
||||
ifeq ($(IPPORT),mqx)
|
||||
$(IPBINARY): liball objall
|
||||
@$(IPECHO) "+++ Built $(IPPRODS)"
|
||||
else
|
||||
ifeq ($(IPPORT),winnt)
|
||||
$(IPBINARY): liball objall
|
||||
@$(IPECHO) "+++ Linking $@"
|
||||
$(IPLD) -out:$@ $(IPLDFLAGS) $(IPOBJS) $(IPLIBS) $(IPLIBS) $(IPLIBS) $(IPLIBS) $(IPLASTLIBS) $(IPMAPFILE)
|
||||
else
|
||||
ifneq ($(OPT),)
|
||||
LIBS_TOCLEAN += $(foreach ELIB,$(IPLIBS),$(subst .a,,$(ELIB))$(OPT).a)
|
||||
IPLIBS := $(LIBS_TOCLEAN)
|
||||
else
|
||||
$(IPBINARY): liball objall
|
||||
@$(IPECHO) "+++ Linking $@"
|
||||
$(IPLD) -o $@ $(IPLDFLAGS) $(IPOBJS) $(IPLIBS) $(IPLIBS) $(IPLIBS) $(IPLIBS) $(IPLASTLIBS) $(IPMAPFILE)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
$(IPOBJDIR)/%.l: %.c
|
||||
@$(IPECHO) "+++ Linting $<"
|
||||
$(IPVERB)$(IPLINT) $(IPDEF) $(IPLIBDEF) $(IPINC) $(IPLIBINC) $<
|
||||
@$(IPECHO) ""
|
||||
|
||||
$(IPOBJDIR)/%.o: %.c
|
||||
@$(IPECHO) "+++ Compiling $<"
|
||||
$(IPVERB)$(IPCC) $(IPCFLAGS) $(IPIPDEFINE) $(IPCCOUT) $<
|
||||
|
||||
$(IPOBJDIR)/$(IPPROD)/%.o: %.c
|
||||
@$(IPECHO) "+++ Compiling $<"
|
||||
$(IPVERB)$(IPCC) $(IPCFLAGS) $(IPIPDEFINE) $(IPCCOUT) $<
|
||||
|
||||
$(IPOBJDIR)/%.o: %.s
|
||||
@$(IPECHO) "+++ Assembling $<"
|
||||
$(IPVERB)$(IPAS) $(IPASFLAGS) $(IPCCOUT) $<
|
||||
|
||||
$(IPOBJDIR)/$(IPPROD)/%.o: %.s
|
||||
@$(IPECHO) "+++ Assembling $<"
|
||||
$(IPVERB)$(IPAS) $(IPASFLAGS) $(IPCCOUT) $<
|
||||
|
||||
$(IPOBJDIR)/$(IPPROD)/%.o: %.ppc
|
||||
@$(IPECHO) "+++ Assembling $<"
|
||||
$(IPVERB)$(IPAS) $(IPASFLAGS) $(IPCCOUT) $<
|
||||
|
||||
$(IPLIBFILE): $(IPLIBOBJS)
|
||||
@$(IPECHO) "+++ Archiving $@"
|
||||
$(IPVERB)($(IPCD) "$(IPARLIBDIR)" && $(IPAR) $(IPARFLAGS) "$(IPAROUT)" $(IPARLIBOBJS))
|
||||
|
||||
ifeq ($(IPPORT),las)
|
||||
# Cannot use IPCFLAGS in the two build rules below. For some obscure reason IPLIBINCLUDE
|
||||
# from ipcrypto is included (in case ipcrypto is included in the build). ipcrypto adds
|
||||
# ipxinc/include to IPLIBINCLUDE, and this breaks the las build of the two files below.
|
||||
$(IPOBJDIR)/ipcom_shell_cmd_stub.o: $(IPCOM_ROOT)/port/las/src/ipcom_shell_cmd_stub.c
|
||||
@$(IPECHO) "+++ Compiling $<"
|
||||
$(IPVERB)$(IPCC) $(IPEXTRACFLAGS) $(IPINC) $(IPDEF) -c -o $@ $<
|
||||
|
||||
$(IPOBJDIR)/ipcom_daemon_stub.o: $(IPCOM_ROOT)/port/las/src/ipcom_daemon_stub.c
|
||||
@$(IPECHO) "+++ Compiling $<"
|
||||
$(IPVERB)$(IPCC) $(IPEXTRACFLAGS) $(IPINC) $(IPDEF) -c -o $@ $<
|
||||
endif
|
||||
|
||||
|
||||
#############################################################################
|
||||
# UTILITIES
|
||||
#############################################################################
|
||||
|
||||
.PHONY : util_ipdef util_ipinc
|
||||
|
||||
util_ipdef:
|
||||
@$(IPECHO) "$(IPDEF) $(IPLIBDEF)" $(IP_UTIL_REDIR)
|
||||
|
||||
util_ipinc:
|
||||
@$(IPECHO) "$(IPLIBINC) $(IPINC)" $(IP_UTIL_REDIR)
|
||||
|
||||
#############################################################################
|
||||
# END OF IPCOM_MAKE.MK
|
||||
#############################################################################
|
||||
|
||||
Reference in New Issue
Block a user