xref: /titanic_53/usr/src/cmd/ipf/tools/Makefile.tools (revision ab25eeb551a4be927a4b6ae2cf8aff7ed17decb4)
17c478bd9Sstevel@tonic-gate#
2734b6a94Sdarrenm# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
37c478bd9Sstevel@tonic-gate# Use is subject to license terms.
47c478bd9Sstevel@tonic-gate#
57c478bd9Sstevel@tonic-gate#
6734b6a94Sdarrenm# ident	"%Z%%M%	%I%	%E% SMI"
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate
97c478bd9Sstevel@tonic-gatePROG=		ipf ipfs ipmon ipnat ippool ipfstat
107c478bd9Sstevel@tonic-gateIPFPROG=	ipftest
117c478bd9Sstevel@tonic-gate
127c478bd9Sstevel@tonic-gateIPF_OBJS=	ipf.o ipfcomp.o ipf_y.o ipf_l.o
137c478bd9Sstevel@tonic-gateIPFS_OBJS=	ipfs.o
147c478bd9Sstevel@tonic-gateIPFSTAT_OBJS=	ipfstat.o
157c478bd9Sstevel@tonic-gateIPMON_OBJS=	ipmon.o ipmon_y.o ipmon_l.o
167c478bd9Sstevel@tonic-gateIPNAT_OBJS=	ipnat.o ipnat_y.o ipnat_l.o
177c478bd9Sstevel@tonic-gateIPPOOL_OBJS=	ippool.o ippool_y.o ippool_l.o
187c478bd9Sstevel@tonic-gateIPFTEST_OBJS=	ipftest.o  \
197c478bd9Sstevel@tonic-gate		ip_fil.o ip_state.o \
207c478bd9Sstevel@tonic-gate		ip_frag.o ip_nat.o fil.o \
217c478bd9Sstevel@tonic-gate		ip_htable.o ip_lookup.o \
227c478bd9Sstevel@tonic-gate		ip_proxy.o ip_auth.o ip_log.o \
237c478bd9Sstevel@tonic-gate		ipf_y.o ipf_l.o \
247c478bd9Sstevel@tonic-gate		ipnat_y.o ipnat_l.o \
257c478bd9Sstevel@tonic-gate		ippool_y.o ippool_l.o \
267c478bd9Sstevel@tonic-gate		ip_pool.o radix.o
277c478bd9Sstevel@tonic-gate
287c478bd9Sstevel@tonic-gateOBJS=		$(IPF_OBJS) $(IPFS_OBJS) $(IPFSTAT_OBJS) \
297c478bd9Sstevel@tonic-gate		$(IPMON_OBJS) $(IPNAT_OBJS) $(IPFTEST_OBJS)
307c478bd9Sstevel@tonic-gate
317c478bd9Sstevel@tonic-gateOBJSL=		$(IPF_OBJS) $(IPFS_OBJS) $(IPFSTAT_OBJS) \
327c478bd9Sstevel@tonic-gate		$(IPMON_OBJS) $(IPNAT_OBJS)
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gateSRCS=		$(OBJSL:%.o=../%.c)
357c478bd9Sstevel@tonic-gate
367c478bd9Sstevel@tonic-gateinclude ../../../Makefile.cmd
377c478bd9Sstevel@tonic-gateinclude ../../Makefile.ipf
387c478bd9Sstevel@tonic-gate
397c478bd9Sstevel@tonic-gateLDLIBS		+= $(LIBBPF)
407c478bd9Sstevel@tonic-gate
417c478bd9Sstevel@tonic-gateCPPFLAGS	+= -I. -DIPFILTER_LOOKUP -DIPFILTER_LOG
427c478bd9Sstevel@tonic-gate
437c478bd9Sstevel@tonic-gateipfstat.o	:=	CPPFLAGS += -DSTATETOP
447c478bd9Sstevel@tonic-gateipfstat		:=	LDLIBS += -lcurses
457c478bd9Sstevel@tonic-gate
467c478bd9Sstevel@tonic-gateipf		:=	LDLIBS += -lsocket -lnsl
47734b6a94Sdarrenmipftest		:=	LDLIBS += -lsocket -lnsl -lmd
487c478bd9Sstevel@tonic-gateipfstat		:=	LDLIBS += -lsocket -lnsl -lkvm -lelf
497c478bd9Sstevel@tonic-gateipmon		:=	LDLIBS += -lsocket -lnsl
507c478bd9Sstevel@tonic-gateipnat		:=	LDLIBS += -lsocket -lnsl -lkvm -lelf
51*ab25eeb5Syz155240ippool		:=	LDLIBS += -lsocket -lnsl -lkvm
527c478bd9Sstevel@tonic-gate
537c478bd9Sstevel@tonic-gateCLEANFILES	+= $(OBJS)
547c478bd9Sstevel@tonic-gate
557c478bd9Sstevel@tonic-gateROOTIPF=	$(ROOTLIB)/ipf
567c478bd9Sstevel@tonic-gateROOTIPF32=	$(ROOTIPF)/$(MACH32)
577c478bd9Sstevel@tonic-gateROOTIPF64=	$(ROOTIPF)/$(MACH64)
587c478bd9Sstevel@tonic-gate
597c478bd9Sstevel@tonic-gateROOTIPFPROG32=	$(IPFPROG:%=$(ROOTIPF32)/%)
607c478bd9Sstevel@tonic-gateROOTIPFPROG64=	$(IPFPROG:%=$(ROOTIPF64)/%)
617c478bd9Sstevel@tonic-gate
627c478bd9Sstevel@tonic-gateROOTIPFLINKS=		$(IPFPROG:%=$(ROOTIPF)/%)
637c478bd9Sstevel@tonic-gateROOTUSRSBINLINKS=	$(PROG:%=$(ROOTUSRSBIN)/%)
647c478bd9Sstevel@tonic-gate
657c478bd9Sstevel@tonic-gate$(ROOTIPF32):
667c478bd9Sstevel@tonic-gate	$(INS.dir)
677c478bd9Sstevel@tonic-gate
687c478bd9Sstevel@tonic-gate$(ROOTIPF64):
697c478bd9Sstevel@tonic-gate	$(INS.dir)
707c478bd9Sstevel@tonic-gate
717c478bd9Sstevel@tonic-gate$(ROOTIPF)/%: %
727c478bd9Sstevel@tonic-gate	$(INS.file)
737c478bd9Sstevel@tonic-gate
747c478bd9Sstevel@tonic-gate$(ROOTIPF32)/%: %
757c478bd9Sstevel@tonic-gate	$(INS.file)
767c478bd9Sstevel@tonic-gate
777c478bd9Sstevel@tonic-gate$(ROOTIPF64)/%: %
787c478bd9Sstevel@tonic-gate	$(INS.file)
797c478bd9Sstevel@tonic-gate
807c478bd9Sstevel@tonic-gate$(ROOTUSRSBINLINKS): FRC
817c478bd9Sstevel@tonic-gate	-$(RM) $@; $(LN) $(ISAEXEC) $@
827c478bd9Sstevel@tonic-gate
837c478bd9Sstevel@tonic-gate$(ROOTIPFLINKS): FRC
847c478bd9Sstevel@tonic-gate	-$(RM) $@; $(LN) $(ISAEXEC) $@
857c478bd9Sstevel@tonic-gate
867c478bd9Sstevel@tonic-gate
877c478bd9Sstevel@tonic-gate.KEEP_STATE:
887c478bd9Sstevel@tonic-gate
897c478bd9Sstevel@tonic-gateipf:	$(IPF_OBJS) $(LIBIPF)
907c478bd9Sstevel@tonic-gate	$(LINK.c) -o ipf $(IPF_OBJS) $(LDLIBS)
917c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
927c478bd9Sstevel@tonic-gate
93*ab25eeb5Syz155240ipf_y.o: ../ipf_y.c $(COMMONIPF)/netinet/ip_fil.h $(COMMONIPF)/ipf.h \
947c478bd9Sstevel@tonic-gate	../ipf_y.c ../ipf_l.h
957c478bd9Sstevel@tonic-gate
967c478bd9Sstevel@tonic-gate../ipf_y.c ../ipf_y.h: ../ipf_y.y
977c478bd9Sstevel@tonic-gate	$(YACC) -d -b ipf ../ipf_y.y
987c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.c/' \
997c478bd9Sstevel@tonic-gate	   ipf.tab.c > ../ipf_y.c
1007c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.h/' \
1017c478bd9Sstevel@tonic-gate	   ipf.tab.h > ../ipf_y.h
1027c478bd9Sstevel@tonic-gate
103*ab25eeb5Syz155240ipf_l.o: ../ipf_l.c $(COMMONIPF)/netinet/ip_fil.h $(COMMONIPF)/ipf.h  \
1047c478bd9Sstevel@tonic-gate	 ../ipf_y.h ../ipf_l.h
1057c478bd9Sstevel@tonic-gate	$(COMPILE.c) ../ipf_l.c -o $@
1067c478bd9Sstevel@tonic-gate
107*ab25eeb5Syz155240../ipf_l.c: ../lexer.c $(COMMONIPF)/ipf.h $(COMMONIPF)/netinet/ip_fil.h
1087c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.h/' \
1097c478bd9Sstevel@tonic-gate	       -e 's/lexer.h/ipf_l.h/' ../lexer.c > $@
1107c478bd9Sstevel@tonic-gate
1117c478bd9Sstevel@tonic-gate../ipf_l.h: ../lexer.h
1127c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipf_yy/g' ../lexer.h > $@
1137c478bd9Sstevel@tonic-gate
1147c478bd9Sstevel@tonic-gateipfs:	$(IPFS_OBJS)
1157c478bd9Sstevel@tonic-gate	$(LINK.c) -o ipfs $(IPFS_OBJS) $(LDLIBS)
1167c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1177c478bd9Sstevel@tonic-gate
1187c478bd9Sstevel@tonic-gateipfstat:	$(IPFSTAT_OBJS)
1197c478bd9Sstevel@tonic-gate	$(LINK.c) -o ipfstat $(IPFSTAT_OBJS) $(LDLIBS)
1207c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1217c478bd9Sstevel@tonic-gate
1227c478bd9Sstevel@tonic-gateipmon:	$(IPMON_OBJS) $(LIBIPF)
1237c478bd9Sstevel@tonic-gate	$(LINK.c) -o ipmon $(IPMON_OBJS) $(LDLIBS)
1247c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1257c478bd9Sstevel@tonic-gate
1267c478bd9Sstevel@tonic-gateipmon_y.o: ../ipmon_y.c $(COMMONIPF)/ipmon.h \
1277c478bd9Sstevel@tonic-gate	../ipmon_y.h ../ipmon_l.h
1287c478bd9Sstevel@tonic-gate
1297c478bd9Sstevel@tonic-gate../ipmon_y.c ../ipmon_y.h: ../ipmon_y.y
1307c478bd9Sstevel@tonic-gate	$(YACC) -d -b ipmon ../ipmon_y.y
1317c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipmon_yy/g' \
1327c478bd9Sstevel@tonic-gate	    -e 's/extern [a-z]* .*();//' \
1337c478bd9Sstevel@tonic-gate	    -e 's/^\(static [a-z]* .*\)();/\1(void);/' \
1347c478bd9Sstevel@tonic-gate	   ipmon.tab.c > ../ipmon_y.c
1357c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipmon_yy/g' -e 's/y.tab.h/ipmon_y.h/' \
1367c478bd9Sstevel@tonic-gate	   ipmon.tab.h > ../ipmon_y.h
1377c478bd9Sstevel@tonic-gate
1387c478bd9Sstevel@tonic-gateipmon_l.o: ../ipmon_l.c $(COMMONIPF)/ipmon.h ../ipmon_y.h ../ipmon_l.h
1397c478bd9Sstevel@tonic-gate	$(COMPILE.c) ../ipmon_l.c -o $@
1407c478bd9Sstevel@tonic-gate
1417c478bd9Sstevel@tonic-gate../ipmon_l.c: ../lexer.c $(COMMONIPF)/ipmon.h
1427c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipmon_yy/g' -e 's/y.tab.h/ipmon_y.h/' \
1437c478bd9Sstevel@tonic-gate            -e 's/lexer.h/ipmon_l.h/' ../lexer.c > $@
1447c478bd9Sstevel@tonic-gate
1457c478bd9Sstevel@tonic-gate../ipmon_l.h: ../lexer.h
1467c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipmon_yy/g' ../lexer.h > $@
1477c478bd9Sstevel@tonic-gate
1487c478bd9Sstevel@tonic-gateipnat:	$(IPNAT_OBJS) $(LIBIPF)
1497c478bd9Sstevel@tonic-gate	$(LINK.c) -o ipnat $(IPNAT_OBJS) $(LDLIBS)
1507c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1517c478bd9Sstevel@tonic-gate
152*ab25eeb5Syz155240ipnat_y.o: ../ipnat_y.c $(COMMONIPF)/netinet/ip_nat.h \
1537c478bd9Sstevel@tonic-gate	../ipnat_y.h ../ipnat_l.h
1547c478bd9Sstevel@tonic-gate
1557c478bd9Sstevel@tonic-gate../ipnat_y.c ../ipnat_y.h: ../ipnat_y.y
1567c478bd9Sstevel@tonic-gate	$(YACC) -d -b ipnat ../ipnat_y.y
1577c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipnat_yy/g' \
1587c478bd9Sstevel@tonic-gate	    -e 's/extern [a-z]* .*();//' \
1597c478bd9Sstevel@tonic-gate	    -e 's/^\(static [a-z]* .*\)();/\1(void);/' \
1607c478bd9Sstevel@tonic-gate	   ipnat.tab.c > ../ipnat_y.c
1617c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipnat_yy/g' -e 's/y.tab.h/ipnat_y.h/' \
1627c478bd9Sstevel@tonic-gate	   ipnat.tab.h > ../ipnat_y.h
1637c478bd9Sstevel@tonic-gate
164*ab25eeb5Syz155240ipnat_l.o: ../ipnat_l.c $(COMMONIPF)/netinet/ip_nat.h ../ipnat_l.h
1657c478bd9Sstevel@tonic-gate	$(COMPILE.c) ../ipnat_l.c -o $@
1667c478bd9Sstevel@tonic-gate
167*ab25eeb5Syz155240../ipnat_l.c: ../lexer.c $(COMMONIPF)/netinet/ip_nat.h
1687c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipnat_yy/g' -e 's/y.tab.h/ipnat_y.h/' \
1697c478bd9Sstevel@tonic-gate	       -e 's/lexer.h/ipnat_l.h/' ../lexer.c > $@
1707c478bd9Sstevel@tonic-gate
1717c478bd9Sstevel@tonic-gate../ipnat_l.h: ../lexer.h
1727c478bd9Sstevel@tonic-gate	sed -e 's/yy/ipnat_yy/g' ../lexer.h > $@
1737c478bd9Sstevel@tonic-gate
1747c478bd9Sstevel@tonic-gateippool:	$(IPPOOL_OBJS) $(LIBIPF)
1757c478bd9Sstevel@tonic-gate	$(LINK.c) -o ippool $(IPPOOL_OBJS) $(LDLIBS)
1767c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1777c478bd9Sstevel@tonic-gate
178*ab25eeb5Syz155240ippool_y.o: ../ippool_y.c $(COMMONIPF)/netinet/ip_pool.h \
1797c478bd9Sstevel@tonic-gate	../ippool_y.h ../ippool_l.h
1807c478bd9Sstevel@tonic-gate
1817c478bd9Sstevel@tonic-gate../ippool_y.c ../ippool_y.h: ../ippool_y.y
1827c478bd9Sstevel@tonic-gate	$(YACC) -d -b ippool ../ippool_y.y
1837c478bd9Sstevel@tonic-gate	sed -e 's/yy/ippool_yy/g' \
1847c478bd9Sstevel@tonic-gate	    -e 's/extern [a-z]* .*();//' \
1857c478bd9Sstevel@tonic-gate	    -e 's/^\(static [a-z]* .*\)();/\1(void);/' \
1867c478bd9Sstevel@tonic-gate	   ippool.tab.c > ../ippool_y.c
1877c478bd9Sstevel@tonic-gate	sed -e 's/yy/ippool_yy/g' -e 's/y.tab.h/ippool_y.h/' \
1887c478bd9Sstevel@tonic-gate	   ippool.tab.h > ../ippool_y.h
1897c478bd9Sstevel@tonic-gate
190*ab25eeb5Syz155240ippool_l.o: ../ippool_l.c $(COMMONIPF)/netinet/ip_pool.h ../ippool_l.h
1917c478bd9Sstevel@tonic-gate	$(COMPILE.c) ../ippool_l.c -o $@
1927c478bd9Sstevel@tonic-gate
193*ab25eeb5Syz155240../ippool_l.c: ../lexer.c $(COMMONIPF)/netinet/ip_pool.h
1947c478bd9Sstevel@tonic-gate	sed -e 's/yy/ippool_yy/g' -e 's/y.tab.h/ippool_y.h/' \
1957c478bd9Sstevel@tonic-gate	       -e 's/lexer.h/ippool_l.h/' ../lexer.c > $@
1967c478bd9Sstevel@tonic-gate
1977c478bd9Sstevel@tonic-gate../ippool_l.h: ../lexer.h
1987c478bd9Sstevel@tonic-gate	sed -e 's/yy/ippool_yy/g' ../lexer.h > $@
1997c478bd9Sstevel@tonic-gate
2007c478bd9Sstevel@tonic-gateipftest:	$(IPFTEST_OBJS) $(LIBIPF)
2017c478bd9Sstevel@tonic-gate	$(LINK.c) -zignore -o ipftest $(IPFTEST_OBJS) $(LDLIBS)
2027c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
2037c478bd9Sstevel@tonic-gate
2047c478bd9Sstevel@tonic-gateclean:
2057c478bd9Sstevel@tonic-gate	-$(RM) $(CLEANFILES)
2067c478bd9Sstevel@tonic-gate
2077c478bd9Sstevel@tonic-gatelint: 	lint_SRCS
2087c478bd9Sstevel@tonic-gate
209*ab25eeb5Syz155240%.o:	$(SRC)/uts/common/inet/ipf/%.c
2107c478bd9Sstevel@tonic-gate	$(COMPILE.c) $<
2117c478bd9Sstevel@tonic-gate
2127c478bd9Sstevel@tonic-gate%.o:	../%.c
2137c478bd9Sstevel@tonic-gate	$(COMPILE.c) $<
2147c478bd9Sstevel@tonic-gate
2157c478bd9Sstevel@tonic-gateinclude ../../../Makefile.targ
2167c478bd9Sstevel@tonic-gate
2177c478bd9Sstevel@tonic-gateFRC:
218