original files of m241

This commit is contained in:
neelimap
2026-07-30 11:19:44 +05:30
parent 170c2b3f3a
commit afc7070c1f
12254 changed files with 7655111 additions and 0 deletions
@@ -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)
+189
View File
@@ -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
#############################################################################