File:  [CSRG BSD Unix] / 43BSDReno / contrib / isode-beta / snmp / Makefile
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:12:56 2018 UTC (8 years, 1 month ago) by root
Branches: MAIN, BSD
CVS tags: HEAD, BSD43reno
BSD 4.3reno

###############################################################################
#   Instructions to Make, for compilation of minimal SNMP agent
###############################################################################

###############################################################################
#
# $Header: /var/lib/cvsd/repos/CSRG/43BSDReno/contrib/isode-beta/snmp/Makefile,v 1.1.1.1 2018/04/24 16:12:56 root Exp $
#
# Contributed by NYSERNet Inc.  This work was partially supported by the
# U.S. Defense Advanced Research Projects Agency and the Rome Air Development
# Center of the U.S. Air Force Systems Command under contract number
# F30602-88-C-0016.
#
#
# $Log: Makefile,v $
# Revision 1.1.1.1  2018/04/24 16:12:56  root
# BSD 4.3reno
#
# Revision 7.19  90/07/09  14:48:31  mrose
# sync
# 
# Revision 7.18  90/07/01  21:07:24  mrose
# pepsy
# 
# Revision 7.16  90/06/21  21:25:59  mrose
# snmpt
# 
# Revision 7.15  90/03/24  10:53:58  mrose
# update
# 
# Revision 7.14  90/03/08  08:05:37  mrose
# isnmp
# 
# Revision 7.13  90/03/06  13:56:47  mrose
# touch-up
# 
# Revision 7.12  90/02/27  18:49:25  mrose
# unix stuff
# 
# Revision 7.11  90/02/19  20:45:03  mrose
# touch-up
# 
# Revision 7.10  90/02/19  16:43:56  mrose
# again
# 
# Revision 7.9  90/02/19  16:25:51  mrose
# typo
# 
# Revision 7.8  90/02/19  15:38:40  mrose
# one more time
# 
# Revision 7.7  90/02/17  17:18:46  mrose
# touch-up
# 
# Revision 7.6  90/02/17  10:37:33  mrose
# smux
# 
# Revision 7.5  89/12/20  16:02:43  mrose
# clns
# 
# Revision 7.4  89/12/19  16:18:20  mrose
# dgram
# 
# Revision 7.3  89/12/17  18:30:09  mrose
# foo
# 
# Revision 7.2  89/12/08  21:46:43  mrose
# ouch-up
# 
# Revision 7.1  89/12/01  10:42:12  mrose
# clts
# 
# Revision 7.0  89/11/23  22:22:54  mrose
# Release 6.0
# 
###############################################################################

###############################################################################
#
#				 NOTICE
#
#    Acquisition, use, and distribution of this module and related
#    materials are subject to the restrictions of a license agreement.
#    Consult the Preface in the User's Manual for the full terms of
#    this agreement.
#
###############################################################################


PEPYPATH=	-DPEPYPATH

.SUFFIXES:	.py .c .o

.c.o:;		$(CC) $(CFLAGS) -c $*.c


LIBES   =	libisnmp.a $(TOPDIR)libisode.a
LLIBS   =	$(TOPDIR)llib-lisode
MIB-C	=	mib.c system.c interfaces.c routes.c ip.c icmp.c tcp.c udp.c \
			clnp.c
MIB-O	=	mib.o system.o interfaces.o routes.o ip.o icmp.o tcp.o udp.o \
			clnp.o
CFILES	=	snmpd.c unixd.c snmpi.c objects.c syntax.c values.c \
			smux.c smuxentry.c $(MIB-C)
PYFILES	=	snmp.py
HFILES	=	$(HDIR)psap.h $(HDIR)manifest.h $(HDIR)general.h \
		$(HDIR)config.h


##################################################################
# Here it is...
##################################################################

all:		snmpd snmpt unixd snmpi runcom peers objects
inst-all:	inst-snmpd inst-snmpt inst-unixd inst-snmpi inst-runcom \
			inst-peers inst-objects inst-headers inst-libisnmp \
			manuals
install:	inst-all clean
lint:		l-snmpd l-snmpt l-unixd l-snmpi


##################################################################
# snmpd
##################################################################

inst-snmpd:	$(SBINDIR)snmpd

$(SBINDIR)snmpd: xsnmpd
		-cp $@ zsnmpd
		-rm -f $@
		cp xsnmpd $@
		-@ls -gls $@
		-@echo ""

snmpd:		xsnmpd

xsnmpd:		snmpd.o $(MIB-O) $(LIBES)
		$(LDCC) $(LDFLAGS) -o $@ snmpd.o $(MIB-O) $(LIBES) \
			$(LNLIST) $(LSOCKET)

l-snmpd:	SNMP_tables.c true
		$(LINT) $(LFLAGS) snmpd.c $(MIB-C) \
			SNMP_tables.c objects.c syntax.c values.c \
			smux.c smuxentry.c $(LLIBS)

snmpd.o:	SNMP-types.h mib.h objects.h smux.h $(HFILES) $(HDIR)tailor.h \
			$(HDIR)logger.h \
			$(HDIR)tsap.h $(HDIR)isoaddrs.h \
			$(HDIR)dgram.h $(HDIR)internet.h $(HDIR)tp4.h
$(MIB-O):	SNMP-types.h mib.h objects.h $(HFILES) $(HDIR)logger.h
system.o:	$(HDIR)tailor.h
interfaces.o:	interfaces.h $(HDIR)internet.h clnp.h
addrtrans.o:	interfaces.h $(HDIR)internet.h clnp.h
ip.o:		interfaces.h $(HDIR)internet.h clnp.h routes.h
icmp.o:		$(HDIR)internet.h
tcp.o:		$(HDIR)internet.h
udp.o:		$(HDIR)internet.h
clnp.o:		interfaces.h $(HDIR)internet.h clnp.h routes.h


##################################################################
# snmpt
##################################################################

inst-snmpt:	$(SBINDIR)snmpt

$(SBINDIR)snmpt: xsnmpt
		-cp $@ zsnmpt
		-rm -f $@
		cp xsnmpt $@
		-@ls -gls $@
		-@echo ""

snmpt:		xsnmpt

xsnmpt:		snmpt.o $(LIBES)
		$(LDCC) $(LDFLAGS) -o $@ snmpt.o $(LIBES) $(LNLIST) $(LSOCKET)

l-snmpt:	SNMP_tables.c true
		$(LINT) $(LFLAGS) -DSNMPT snmpd.c SNMP_tables.c $(LLIBS)

snmpt.o:	SNMP-types.h mib.h objects.h smux.h $(HFILES) $(HDIR)tailor.h \
			$(HDIR)logger.h \
			$(HDIR)tsap.h $(HDIR)isoaddrs.h \
			$(HDIR)dgram.h $(HDIR)internet.h $(HDIR)tp4.h \
			snmpd.c
		$(CC) $(CFLAGS) -DSNMPT -o snmpt.o -c snmpd.c


##################################################################
# unixd
##################################################################

inst-unixd:	$(SBINDIR)smux.unixd

$(SBINDIR)smux.unixd: xunixd
		-cp $@ zunixd
		-rm -f $@
		cp xunixd $@
		-@ls -gls $@
		-@echo ""

unixd:		xunixd

xunixd:		unixd.o $(LIBES)
		$(LDCC) $(LDFLAGS) -o $@ unixd.o $(LIBES) $(LSOCKET)

l-unixd:	SNMP_tables.c true
		$(LINT) $(LFLAGS) unixd.c SNMP_tables.c \
			objects.c syntax.c values.c \
			smux.c smuxentry.c $(LLIBS)

unixd.o:	SNMP-types.h objects.h smux.h $(HFILES) $(HDIR)tailor.h \
			$(HDIR)logger.h


##################################################################
# snmpi
##################################################################

inst-snmpi:	$(BINDIR)snmpi

$(BINDIR)snmpi:	xsnmpi
		-cp $@ zxsnmpi
		-rm -f $@
		cp xsnmpi $@
		-@ls -gls $@
		-@echo ""

snmpi:		xsnmpi

xsnmpi:		snmpi.o $(LIBES)
		$(LDCC) $(LDFLAGS) -o $@ snmpi.o $(LIBES) $(LSOCKET)

l-snmpi:	SNMP_tables.c true
		$(LINT) $(LFLAGS) snmpi.c SNMP_tables.c \
			objects.c syntax.c values.c smux.c smuxentry.c $(LLIBS)

snmpi.o:	SNMP-types.h objects.h $(HFILES) $(HDIR)tailor.h \
			$(HDIR)logger.h \
			$(HDIR)tsap.h $(HDIR)isoaddrs.h \
			$(HDIR)dgram.h $(HDIR)internet.h $(HDIR)tp4.h


################################################################
# headers
################################################################

inst-headers:	$(INCDIR)snmp/objects.h $(INCDIR)snmp/smux.h \
			$(PEPSYDIR)SNMP-types.h $(PEPSYDIR)SNMP_defs.h \
			$(PEPSYDIR)SNMP_pre_defs.h

$(INCDIR)snmp/objects.h: objects.h
		-cp $@ zobjects.h
		cp objects.h $@
		-@ls -gls $@
		-@echo ""

$(INCDIR)snmp/smux.h: smux.h
		-cp $@ zsmux.h
		cp smux.h $@
		-@ls -gls $@
		-@echo ""

$(PEPSYDIR)SNMP-types.h: SNMP-types.h
		-cp $@ zSNMP-types.h
		cp SNMP-types.h $@
		-@ls -gls $@
		-@echo ""

$(PEPSYDIR)SNMP_defs.h: SNMP_defs.h
		-cp $@ zSNMP_defs.h
		cp SNMP_defs.h $@
		-@ls -gls $@
		-@echo ""

$(PEPSYDIR)SNMP_pre_defs.h: SNMP_pre_defs.h
		-cp $@ zSNMP_pre_defs.h
		cp SNMP_pre_defs.h $@
		-@ls -gls $@
		-@echo ""


################################################################
# libisnmp
################################################################

inst-libisnmp:	$(LIBDIR)libisnmp.a $(LINTDIR)llib-lisnmp

$(LIBDIR)libisnmp.a:	libisnmp.a
		-rm -f $@
		cp libisnmp.a $@
		@$(UTILDIR)make-lib.sh $(SYSTEM) $@ -ranlib
		-@ls -gls $@
		-@echo ""

$(LINTDIR)llib-lisnmp:	llib-lisnmp
		-cp $@ zllib-lisnmp
		-rm -f $@
		sed -e 's%#include "\(.*\)"%#include "$(INCDIR)snmp/\1"%' \
			< llib-lisnmp | \
			sed -e 's%#include "/usr/include/\(.*\)"%#include <\1>%' > $@
		@$(UTILDIR)inst-lint.sh $(SYSTEM) $(OPTIONS) $@
		-@ls -gls $@ [email protected]
		-@echo ""

libisnmp.a:	SNMP_tables.o objects.o syntax.o values.o smux.o smuxentry.o
		-rm -f $@
		@$(UTILDIR)make-lib.sh $(SYSTEM) $(ARFLAGS) $@ $(SNMP-O) \
			SNMP_tables.o objects.o syntax.o values.o smux.o \
			smuxentry.o
		-@ls -l $@
		-@echo "SNMP library built normally"

SNMP_tables.o:	SNMP_tables.c SNMP-types.h

SNMP_tables.c SNMP-types.h: snmp.py $(TOPDIR)pepsy/xpepsy
		$(TOPDIR)pepsy/xpepsy -A -f -h -m snmp.py

objects.o:	objects.h $(HFILES) $(HDIR)tailor.h $(HDIR)logger.h
syntax.o:	objects.h $(HFILES) $(HDIR)tailor.h $(HDIR)logger.h \
		$(HDIR)internet.h clnp.h
values.o:	objects.h SNMP-types.h $(HDIR)logger.h
smux.o:		smux.h SNMP-types.h $(HDIR)tailor.h $(HDIR)logger.h \
		$(HDIR)internet.h
smuxentry.o:	smux.h SNMP-types.h $(HDIR)tailor.h


##################################################################
# files
##################################################################

inst-runcom:	$(ETCDIR)snmpd.rc

$(ETCDIR)snmpd.rc:	snmpd.rc
		-cp $@ zsnmpd.rc
		-rm -f $@
		cp snmpd.rc $@
		-@ls -gls $@
		-@echo ""

runcom:;


inst-peers:	$(ETCDIR)snmpd.peers

$(ETCDIR)snmpd.peers:	snmpd.peers
		-cp $@ zsnmpd.peers
		-rm -f $@
		cp snmpd.peers $@
		-chmod 600 $@
		-@ls -gls $@
		-@echo ""

peers:;


DEFS	=	objects.defs snmpd.defs unixd.defs
DEFS2	=	smi.defs mib.defs clns.defs view.defs unix.defs smux.defs

inst-objects:;	-mkdir $(INCDIR)snmp
		@for d in $(DEFS); do $(MAKE) TARGET=$$d inst-target; done
		@for d in $(DEFS2); do $(MAKE) TARGET2=$$d inst-target2; done

inst-target:	$(ETCDIR)$(TARGET)

$(ETCDIR)$(TARGET):	$(TARGET)
		-cp $@ z$(TARGET)
		-rm -f $@
		cp $(TARGET) $@
		-@ls -gls $@
		-@echo ""

inst-target2:	$(INCDIR)snmp/$(TARGET2)

$(INCDIR)snmp/$(TARGET2):	$(TARGET2)
		-cp $@ z$(TARGET2)
		-rm -f $@
		cp $(TARGET2) $@
		-@ls -gls $@
		-@echo ""

objects:	$(DEFS)

objects.defs:	$(DEFS2)
		cat $(DEFS2) > $@

snmpd.defs:	smi.defs mib.defs clns.defs view.defs smux.defs
		cat smi.defs mib.defs clns.defs view.defs smux.defs > $@

unixd.defs:	smi.defs unix.defs
		cat smi.defs unix.defs > $@


################################################################
# manual pages
################################################################

MANUALS	=	snmpd.8c unixd.8c snmpi.1c

manuals:;	@$(UTILDIR)inst-man.sh $(MANOPTS) $(MANUALS)
		-@echo ""


################################################################
# clean
################################################################

clean:;		rm -f *.o *.a SNMP* x* z* _* core $(DEFS)

grind:;		iprint Makefile
		tgrind -lc $(CFILES)
		tgrind -lpepy -d $(TOPDIR)pepy/grindefs $(PYFILES) $(DEFS2)
		@echo $(MANUALS) | \
			tr " " "\012" | \
			sed -e "s%.*%itroff -man &%" | \
			sh -ve

true:;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.