Makefile.tools revision 2535:b66cbb80977f
1228753Smm# 2228753Smm# Copyright 2006 Sun Microsystems, Inc. All rights reserved. 3228753Smm# Use is subject to license terms. 4228753Smm# 5228753Smm# 6228753Smm# ident "%Z%%M% %I% %E% SMI" 7228753Smm# 8228753Smm 9228753SmmPROG= ipf ipfs ipmon ipnat ippool ipfstat 10228753SmmIPFPROG= ipftest 11228753Smm 12228753SmmIPF_OBJS= ipf.o ipfcomp.o ipf_y.o ipf_l.o 13228753SmmIPFS_OBJS= ipfs.o 14228753SmmIPFSTAT_OBJS= ipfstat.o 15228753SmmIPMON_OBJS= ipmon.o ipmon_y.o ipmon_l.o 16228753SmmIPNAT_OBJS= ipnat.o ipnat_y.o ipnat_l.o 17228753SmmIPPOOL_OBJS= ippool.o ippool_y.o ippool_l.o 18228753SmmIPFTEST_OBJS= ipftest.o \ 19228753Smm ip_fil.o ip_state.o \ 20228753Smm ip_frag.o ip_nat.o fil.o \ 21228753Smm ip_htable.o ip_lookup.o \ 22228753Smm ip_proxy.o ip_auth.o ip_log.o \ 23228753Smm ipf_y.o ipf_l.o \ 24228753Smm ipnat_y.o ipnat_l.o \ 25228753Smm ippool_y.o ippool_l.o \ 26228763Smm ip_pool.o radix.o 27228753Smm 28228753SmmOBJS= $(IPF_OBJS) $(IPFS_OBJS) $(IPFSTAT_OBJS) \ 29228753Smm $(IPMON_OBJS) $(IPNAT_OBJS) $(IPFTEST_OBJS) 30228753Smm 31228753SmmOBJSL= $(IPF_OBJS) $(IPFS_OBJS) $(IPFSTAT_OBJS) \ 32228753Smm $(IPMON_OBJS) $(IPNAT_OBJS) 33228753Smm 34228753SmmSRCS= $(OBJSL:%.o=../%.c) 35228753Smm 36228753Smminclude ../../../Makefile.cmd 37228753Smminclude ../../Makefile.ipf 38228753Smm 39228753SmmLDLIBS += $(LIBBPF) 40228753Smm 41228753SmmCPPFLAGS += -I. -DIPFILTER_LOOKUP -DIPFILTER_LOG 42228753Smm 43228753Smmipfstat.o := CPPFLAGS += -DSTATETOP 44228753Smmipfstat := LDLIBS += -lcurses 45228753Smm 46228753Smmipf := LDLIBS += -lsocket -lnsl 47228753Smmipftest := LDLIBS += -lsocket -lnsl -lmd 48228753Smmipfstat := LDLIBS += -lsocket -lnsl -lkvm -lelf 49228753Smmipmon := LDLIBS += -lsocket -lnsl 50228753Smmipnat := LDLIBS += -lsocket -lnsl -lkvm -lelf 51228753Smmippool := LDLIBS += -lsocket -lnsl -lkvm 52228753Smm 53228753SmmCLEANFILES += $(OBJS) 54228753Smm 55228753SmmROOTIPF= $(ROOTLIB)/ipf 56228753SmmROOTIPF32= $(ROOTIPF)/$(MACH32) 57228753SmmROOTIPF64= $(ROOTIPF)/$(MACH64) 58228753Smm 59228753SmmROOTIPFPROG32= $(IPFPROG:%=$(ROOTIPF32)/%) 60228753SmmROOTIPFPROG64= $(IPFPROG:%=$(ROOTIPF64)/%) 61228753Smm 62228753SmmROOTIPFLINKS= $(IPFPROG:%=$(ROOTIPF)/%) 63228753SmmROOTUSRSBINLINKS= $(PROG:%=$(ROOTUSRSBIN)/%) 64228753Smm 65228753Smm$(ROOTIPF32): 66228753Smm $(INS.dir) 67228753Smm 68228753Smm$(ROOTIPF64): 69228753Smm $(INS.dir) 70228753Smm 71228753Smm$(ROOTIPF)/%: % 72228753Smm $(INS.file) 73228753Smm 74228753Smm$(ROOTIPF32)/%: % 75228753Smm $(INS.file) 76228753Smm 77228753Smm$(ROOTIPF64)/%: % 78228753Smm $(INS.file) 79228753Smm 80228753Smm$(ROOTUSRSBINLINKS): FRC 81228753Smm -$(RM) $@; $(LN) $(ISAEXEC) $@ 82228753Smm 83228753Smm$(ROOTIPFLINKS): FRC 84228753Smm -$(RM) $@; $(LN) $(ISAEXEC) $@ 85228753Smm 86228753Smm 87228753Smm.KEEP_STATE: 88228753Smm 89228753Smmipf: $(IPF_OBJS) $(LIBIPF) 90228753Smm $(LINK.c) -o ipf $(IPF_OBJS) $(LDLIBS) 91228753Smm $(POST_PROCESS) 92228753Smm 93228753Smmipf_y.o: ../ipf_y.c $(COMMONIPF)/netinet/ip_fil.h $(COMMONIPF)/ipf.h \ 94228753Smm ../ipf_y.c ../ipf_l.h 95228753Smm 96228753Smm../ipf_y.c ../ipf_y.h: ../ipf_y.y 97228753Smm $(YACC) -d -b ipf ../ipf_y.y 98228753Smm sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.c/' \ 99228753Smm ipf.tab.c > ../ipf_y.c 100228753Smm sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.h/' \ 101228753Smm ipf.tab.h > ../ipf_y.h 102228753Smm 103228753Smmipf_l.o: ../ipf_l.c $(COMMONIPF)/netinet/ip_fil.h $(COMMONIPF)/ipf.h \ 104228753Smm ../ipf_y.h ../ipf_l.h 105228753Smm $(COMPILE.c) ../ipf_l.c -o $@ 106228753Smm 107228753Smm../ipf_l.c: ../lexer.c $(COMMONIPF)/ipf.h $(COMMONIPF)/netinet/ip_fil.h 108228753Smm sed -e 's/yy/ipf_yy/g' -e 's/y.tab.h/ipf_y.h/' \ 109228753Smm -e 's/lexer.h/ipf_l.h/' ../lexer.c > $@ 110228753Smm 111228753Smm../ipf_l.h: ../lexer.h 112228753Smm sed -e 's/yy/ipf_yy/g' ../lexer.h > $@ 113228753Smm 114228753Smmipfs: $(IPFS_OBJS) 115228753Smm $(LINK.c) -o ipfs $(IPFS_OBJS) $(LDLIBS) 116228753Smm $(POST_PROCESS) 117228753Smm 118ipfstat: $(IPFSTAT_OBJS) 119 $(LINK.c) -o ipfstat $(IPFSTAT_OBJS) $(LDLIBS) 120 $(POST_PROCESS) 121 122ipmon: $(IPMON_OBJS) $(LIBIPF) 123 $(LINK.c) -o ipmon $(IPMON_OBJS) $(LDLIBS) 124 $(POST_PROCESS) 125 126ipmon_y.o: ../ipmon_y.c $(COMMONIPF)/ipmon.h \ 127 ../ipmon_y.h ../ipmon_l.h 128 129../ipmon_y.c ../ipmon_y.h: ../ipmon_y.y 130 $(YACC) -d -b ipmon ../ipmon_y.y 131 sed -e 's/yy/ipmon_yy/g' \ 132 -e 's/extern [a-z]* .*();//' \ 133 -e 's/^\(static [a-z]* .*\)();/\1(void);/' \ 134 ipmon.tab.c > ../ipmon_y.c 135 sed -e 's/yy/ipmon_yy/g' -e 's/y.tab.h/ipmon_y.h/' \ 136 ipmon.tab.h > ../ipmon_y.h 137 138ipmon_l.o: ../ipmon_l.c $(COMMONIPF)/ipmon.h ../ipmon_y.h ../ipmon_l.h 139 $(COMPILE.c) ../ipmon_l.c -o $@ 140 141../ipmon_l.c: ../lexer.c $(COMMONIPF)/ipmon.h 142 sed -e 's/yy/ipmon_yy/g' -e 's/y.tab.h/ipmon_y.h/' \ 143 -e 's/lexer.h/ipmon_l.h/' ../lexer.c > $@ 144 145../ipmon_l.h: ../lexer.h 146 sed -e 's/yy/ipmon_yy/g' ../lexer.h > $@ 147 148ipnat: $(IPNAT_OBJS) $(LIBIPF) 149 $(LINK.c) -o ipnat $(IPNAT_OBJS) $(LDLIBS) 150 $(POST_PROCESS) 151 152ipnat_y.o: ../ipnat_y.c $(COMMONIPF)/netinet/ip_nat.h \ 153 ../ipnat_y.h ../ipnat_l.h 154 155../ipnat_y.c ../ipnat_y.h: ../ipnat_y.y 156 $(YACC) -d -b ipnat ../ipnat_y.y 157 sed -e 's/yy/ipnat_yy/g' \ 158 -e 's/extern [a-z]* .*();//' \ 159 -e 's/^\(static [a-z]* .*\)();/\1(void);/' \ 160 ipnat.tab.c > ../ipnat_y.c 161 sed -e 's/yy/ipnat_yy/g' -e 's/y.tab.h/ipnat_y.h/' \ 162 ipnat.tab.h > ../ipnat_y.h 163 164ipnat_l.o: ../ipnat_l.c $(COMMONIPF)/netinet/ip_nat.h ../ipnat_l.h 165 $(COMPILE.c) ../ipnat_l.c -o $@ 166 167../ipnat_l.c: ../lexer.c $(COMMONIPF)/netinet/ip_nat.h 168 sed -e 's/yy/ipnat_yy/g' -e 's/y.tab.h/ipnat_y.h/' \ 169 -e 's/lexer.h/ipnat_l.h/' ../lexer.c > $@ 170 171../ipnat_l.h: ../lexer.h 172 sed -e 's/yy/ipnat_yy/g' ../lexer.h > $@ 173 174ippool: $(IPPOOL_OBJS) $(LIBIPF) 175 $(LINK.c) -o ippool $(IPPOOL_OBJS) $(LDLIBS) 176 $(POST_PROCESS) 177 178ippool_y.o: ../ippool_y.c $(COMMONIPF)/netinet/ip_pool.h \ 179 ../ippool_y.h ../ippool_l.h 180 181../ippool_y.c ../ippool_y.h: ../ippool_y.y 182 $(YACC) -d -b ippool ../ippool_y.y 183 sed -e 's/yy/ippool_yy/g' \ 184 -e 's/extern [a-z]* .*();//' \ 185 -e 's/^\(static [a-z]* .*\)();/\1(void);/' \ 186 ippool.tab.c > ../ippool_y.c 187 sed -e 's/yy/ippool_yy/g' -e 's/y.tab.h/ippool_y.h/' \ 188 ippool.tab.h > ../ippool_y.h 189 190ippool_l.o: ../ippool_l.c $(COMMONIPF)/netinet/ip_pool.h ../ippool_l.h 191 $(COMPILE.c) ../ippool_l.c -o $@ 192 193../ippool_l.c: ../lexer.c $(COMMONIPF)/netinet/ip_pool.h 194 sed -e 's/yy/ippool_yy/g' -e 's/y.tab.h/ippool_y.h/' \ 195 -e 's/lexer.h/ippool_l.h/' ../lexer.c > $@ 196 197../ippool_l.h: ../lexer.h 198 sed -e 's/yy/ippool_yy/g' ../lexer.h > $@ 199 200ipftest: $(IPFTEST_OBJS) $(LIBIPF) 201 $(LINK.c) -zignore -o ipftest $(IPFTEST_OBJS) $(LDLIBS) 202 $(POST_PROCESS) 203 204clean: 205 -$(RM) $(CLEANFILES) 206 207lint: lint_SRCS 208 209%.o: $(SRC)/uts/common/inet/ipf/%.c 210 $(COMPILE.c) $< 211 212%.o: ../%.c 213 $(COMPILE.c) $< 214 215%.o: $(SRC)/common/net/patricia/%.c 216 $(COMPILE.c) $< 217 218include ../../../Makefile.targ 219 220FRC: 221