Makefile.tools revision ab25eeb551a4be927a4b6ae2cf8aff7ed17decb4
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster#
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster# Use is subject to license terms.
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster#
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster#
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster# ident "%Z%%M% %I% %E% SMI"
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster#
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterPROG= ipf ipfs ipmon ipnat ippool ipfstat
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterIPFPROG= ipftest
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterIPF_OBJS= ipf.o ipfcomp.o ipf_y.o ipf_l.o
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterIPFS_OBJS= ipfs.o
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterIPFSTAT_OBJS= ipfstat.o
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterIPMON_OBJS= ipmon.o ipmon_y.o ipmon_l.o
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterIPNAT_OBJS= ipnat.o ipnat_y.o ipnat_l.o
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterIPPOOL_OBJS= ippool.o ippool_y.o ippool_l.o
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterIPFTEST_OBJS= ipftest.o \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster ip_fil.o ip_state.o \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster ip_frag.o ip_nat.o fil.o \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster ip_htable.o ip_lookup.o \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster ip_proxy.o ip_auth.o ip_log.o \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster ipf_y.o ipf_l.o \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster ipnat_y.o ipnat_l.o \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster ippool_y.o ippool_l.o \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster ip_pool.o radix.o
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterOBJS= $(IPF_OBJS) $(IPFS_OBJS) $(IPFSTAT_OBJS) \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster $(IPMON_OBJS) $(IPNAT_OBJS) $(IPFTEST_OBJS)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterOBJSL= $(IPF_OBJS) $(IPFS_OBJS) $(IPFSTAT_OBJS) \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster $(IPMON_OBJS) $(IPNAT_OBJS)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterSRCS= $(OBJSL:%.o=../%.c)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosterinclude ../../../Makefile.cmd
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosterinclude ../../Makefile.ipf
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterLDLIBS += $(LIBBPF)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterCPPFLAGS += -I. -DIPFILTER_LOOKUP -DIPFILTER_LOG
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosteripfstat.o := CPPFLAGS += -DSTATETOP
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosteripfstat := LDLIBS += -lcurses
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosteripf := LDLIBS += -lsocket -lnsl
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosteripftest := LDLIBS += -lsocket -lnsl -lmd
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosteripfstat := LDLIBS += -lsocket -lnsl -lkvm -lelf
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosteripmon := LDLIBS += -lsocket -lnsl
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosteripnat := LDLIBS += -lsocket -lnsl -lkvm -lelf
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosterippool := LDLIBS += -lsocket -lnsl -lkvm
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterCLEANFILES += $(OBJS)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterROOTIPF= $(ROOTLIB)/ipf
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterROOTIPF32= $(ROOTIPF)/$(MACH32)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterROOTIPF64= $(ROOTIPF)/$(MACH64)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterROOTIPFPROG32= $(IPFPROG:%=$(ROOTIPF32)/%)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterROOTIPFPROG64= $(IPFPROG:%=$(ROOTIPF64)/%)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterROOTIPFLINKS= $(IPFPROG:%=$(ROOTIPF)/%)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan FosterROOTUSRSBINLINKS= $(PROG:%=$(ROOTUSRSBIN)/%)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster$(ROOTIPF32):
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster $(INS.dir)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster$(ROOTIPF64):
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster $(INS.dir)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster$(ROOTIPF)/%: %
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster $(INS.file)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster$(ROOTIPF32)/%: %
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster $(INS.file)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster$(ROOTIPF64)/%: %
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster $(INS.file)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster$(ROOTUSRSBINLINKS): FRC
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster -$(RM) $@; $(LN) $(ISAEXEC) $@
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster$(ROOTIPFLINKS): FRC
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster -$(RM) $@; $(LN) $(ISAEXEC) $@
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster.KEEP_STATE:
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosteripf: $(IPF_OBJS) $(LIBIPF)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster $(LINK.c) -o ipf $(IPF_OBJS) $(LDLIBS)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster $(POST_PROCESS)
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Fosteripf_y.o: ../ipf_y.c $(COMMONIPF)/netinet/ip_fil.h $(COMMONIPF)/ipf.h \
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster ../ipf_y.c ../ipf_l.h
5c099afa7c9361afc2f4477fec0e3018588d7840Allan Foster
../ipf_y.c ../ipf_y.h: ../ipf_y.y
$(YACC) -d -b ipf ../ipf_y.y
sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.c/' \
ipf.tab.c > ../ipf_y.c
sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.h/' \
ipf.tab.h > ../ipf_y.h
ipf_l.o: ../ipf_l.c $(COMMONIPF)/netinet/ip_fil.h $(COMMONIPF)/ipf.h \
../ipf_y.h ../ipf_l.h
$(COMPILE.c) ../ipf_l.c -o $@
../ipf_l.c: ../lexer.c $(COMMONIPF)/ipf.h $(COMMONIPF)/netinet/ip_fil.h
sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.h/' \
-e 's/lexer.h/ipf_l.h/' ../lexer.c > $@
../ipf_l.h: ../lexer.h
sed -e 's/yy/ipf_yy/g' ../lexer.h > $@
ipfs: $(IPFS_OBJS)
$(LINK.c) -o ipfs $(IPFS_OBJS) $(LDLIBS)
$(POST_PROCESS)
ipfstat: $(IPFSTAT_OBJS)
$(LINK.c) -o ipfstat $(IPFSTAT_OBJS) $(LDLIBS)
$(POST_PROCESS)
ipmon: $(IPMON_OBJS) $(LIBIPF)
$(LINK.c) -o ipmon $(IPMON_OBJS) $(LDLIBS)
$(POST_PROCESS)
ipmon_y.o: ../ipmon_y.c $(COMMONIPF)/ipmon.h \
../ipmon_y.h ../ipmon_l.h
../ipmon_y.c ../ipmon_y.h: ../ipmon_y.y
$(YACC) -d -b ipmon ../ipmon_y.y
sed -e 's/yy/ipmon_yy/g' \
-e 's/extern [a-z]* .*();//' \
-e 's/^\(static [a-z]* .*\)();/\1(void);/' \
ipmon.tab.c > ../ipmon_y.c
sed -e 's/yy/ipmon_yy/g' -e 's/y.tab.h/ipmon_y.h/' \
ipmon.tab.h > ../ipmon_y.h
ipmon_l.o: ../ipmon_l.c $(COMMONIPF)/ipmon.h ../ipmon_y.h ../ipmon_l.h
$(COMPILE.c) ../ipmon_l.c -o $@
../ipmon_l.c: ../lexer.c $(COMMONIPF)/ipmon.h
sed -e 's/yy/ipmon_yy/g' -e 's/y.tab.h/ipmon_y.h/' \
-e 's/lexer.h/ipmon_l.h/' ../lexer.c > $@
../ipmon_l.h: ../lexer.h
sed -e 's/yy/ipmon_yy/g' ../lexer.h > $@
ipnat: $(IPNAT_OBJS) $(LIBIPF)
$(LINK.c) -o ipnat $(IPNAT_OBJS) $(LDLIBS)
$(POST_PROCESS)
ipnat_y.o: ../ipnat_y.c $(COMMONIPF)/netinet/ip_nat.h \
../ipnat_y.h ../ipnat_l.h
../ipnat_y.c ../ipnat_y.h: ../ipnat_y.y
$(YACC) -d -b ipnat ../ipnat_y.y
sed -e 's/yy/ipnat_yy/g' \
-e 's/extern [a-z]* .*();//' \
-e 's/^\(static [a-z]* .*\)();/\1(void);/' \
ipnat.tab.c > ../ipnat_y.c
sed -e 's/yy/ipnat_yy/g' -e 's/y.tab.h/ipnat_y.h/' \
ipnat.tab.h > ../ipnat_y.h
ipnat_l.o: ../ipnat_l.c $(COMMONIPF)/netinet/ip_nat.h ../ipnat_l.h
$(COMPILE.c) ../ipnat_l.c -o $@
../ipnat_l.c: ../lexer.c $(COMMONIPF)/netinet/ip_nat.h
sed -e 's/yy/ipnat_yy/g' -e 's/y.tab.h/ipnat_y.h/' \
-e 's/lexer.h/ipnat_l.h/' ../lexer.c > $@
../ipnat_l.h: ../lexer.h
sed -e 's/yy/ipnat_yy/g' ../lexer.h > $@
ippool: $(IPPOOL_OBJS) $(LIBIPF)
$(LINK.c) -o ippool $(IPPOOL_OBJS) $(LDLIBS)
$(POST_PROCESS)
ippool_y.o: ../ippool_y.c $(COMMONIPF)/netinet/ip_pool.h \
../ippool_y.h ../ippool_l.h
../ippool_y.c ../ippool_y.h: ../ippool_y.y
$(YACC) -d -b ippool ../ippool_y.y
sed -e 's/yy/ippool_yy/g' \
-e 's/extern [a-z]* .*();//' \
-e 's/^\(static [a-z]* .*\)();/\1(void);/' \
ippool.tab.c > ../ippool_y.c
sed -e 's/yy/ippool_yy/g' -e 's/y.tab.h/ippool_y.h/' \
ippool.tab.h > ../ippool_y.h
ippool_l.o: ../ippool_l.c $(COMMONIPF)/netinet/ip_pool.h ../ippool_l.h
$(COMPILE.c) ../ippool_l.c -o $@
../ippool_l.c: ../lexer.c $(COMMONIPF)/netinet/ip_pool.h
sed -e 's/yy/ippool_yy/g' -e 's/y.tab.h/ippool_y.h/' \
-e 's/lexer.h/ippool_l.h/' ../lexer.c > $@
../ippool_l.h: ../lexer.h
sed -e 's/yy/ippool_yy/g' ../lexer.h > $@
ipftest: $(IPFTEST_OBJS) $(LIBIPF)
$(LINK.c) -zignore -o ipftest $(IPFTEST_OBJS) $(LDLIBS)
$(POST_PROCESS)
clean:
-$(RM) $(CLEANFILES)
lint: lint_SRCS
%.o: $(SRC)/uts/common/inet/ipf/%.c
$(COMPILE.c) $<
%.o: ../%.c
$(COMPILE.c) $<
include ../../../Makefile.targ
FRC: