1*f1c4c3daSCy Schubertmydir=tests$(S)fuzzing 2*f1c4c3daSCy SchubertBUILDTOP=$(REL)..$(S).. 3*f1c4c3daSCy Schubert 4*f1c4c3daSCy SchubertLOCALINCLUDES= \ 5*f1c4c3daSCy Schubert -I$(srcdir)/../../lib/crypto/krb -I$(srcdir)/../../lib/krad \ 6*f1c4c3daSCy Schubert -I$(srcdir)/../../lib/crypto/builtin/des -I$(srcdir)/../../kdc \ 7*f1c4c3daSCy Schubert -I$(srcdir)/../../lib/krb5/ccache -I$(srcdir)/../../util/profile \ 8*f1c4c3daSCy Schubert -I$(srcdir)/../../util/support 9*f1c4c3daSCy Schubert 10*f1c4c3daSCy SchubertOBJS= \ 11*f1c4c3daSCy Schubert fuzz_aes.o \ 12*f1c4c3daSCy Schubert fuzz_asn.o \ 13*f1c4c3daSCy Schubert fuzz_attrset.o \ 14*f1c4c3daSCy Schubert fuzz_chpw.o \ 15*f1c4c3daSCy Schubert fuzz_crypto.o \ 16*f1c4c3daSCy Schubert fuzz_des.o \ 17*f1c4c3daSCy Schubert fuzz_gss.o \ 18*f1c4c3daSCy Schubert fuzz_json.o \ 19*f1c4c3daSCy Schubert fuzz_kdc.o \ 20*f1c4c3daSCy Schubert fuzz_krad.o \ 21*f1c4c3daSCy Schubert fuzz_krb.o \ 22*f1c4c3daSCy Schubert fuzz_krb5_ticket.o \ 23*f1c4c3daSCy Schubert fuzz_marshal_cred.o \ 24*f1c4c3daSCy Schubert fuzz_marshal_princ.o \ 25*f1c4c3daSCy Schubert fuzz_ndr.o \ 26*f1c4c3daSCy Schubert fuzz_oid.o \ 27*f1c4c3daSCy Schubert fuzz_pac.o \ 28*f1c4c3daSCy Schubert fuzz_profile.o \ 29*f1c4c3daSCy Schubert fuzz_util.o 30*f1c4c3daSCy Schubert 31*f1c4c3daSCy SchubertSRCS= \ 32*f1c4c3daSCy Schubert $(srcdir)/fuzz_aes.c \ 33*f1c4c3daSCy Schubert $(srcdir)/fuzz_asn.c \ 34*f1c4c3daSCy Schubert $(srcdir)/fuzz_attrset.c \ 35*f1c4c3daSCy Schubert $(srcdir)/fuzz_chpw.c \ 36*f1c4c3daSCy Schubert $(srcdir)/fuzz_crypto.c \ 37*f1c4c3daSCy Schubert $(srcdir)/fuzz_des.c \ 38*f1c4c3daSCy Schubert $(srcdir)/fuzz_gss.c \ 39*f1c4c3daSCy Schubert $(srcdir)/fuzz_json.c \ 40*f1c4c3daSCy Schubert $(srcdir)/fuzz_kdc.c \ 41*f1c4c3daSCy Schubert $(srcdir)/fuzz_krad.c \ 42*f1c4c3daSCy Schubert $(srcdir)/fuzz_krb.c \ 43*f1c4c3daSCy Schubert $(srcdir)/fuzz_krb5_ticket.c \ 44*f1c4c3daSCy Schubert $(srcdir)/fuzz_marshal_cred.c \ 45*f1c4c3daSCy Schubert $(srcdir)/fuzz_marshal_princ.c \ 46*f1c4c3daSCy Schubert $(srcdir)/fuzz_ndr.c \ 47*f1c4c3daSCy Schubert $(srcdir)/fuzz_oid.c \ 48*f1c4c3daSCy Schubert $(srcdir)/fuzz_pac.c \ 49*f1c4c3daSCy Schubert $(srcdir)/fuzz_profile.c \ 50*f1c4c3daSCy Schubert $(srcdir)/fuzz_util.c 51*f1c4c3daSCy Schubert 52*f1c4c3daSCy SchubertFUZZ_TARGETS= \ 53*f1c4c3daSCy Schubert fuzz_aes \ 54*f1c4c3daSCy Schubert fuzz_asn \ 55*f1c4c3daSCy Schubert fuzz_attrset \ 56*f1c4c3daSCy Schubert fuzz_chpw \ 57*f1c4c3daSCy Schubert fuzz_crypto \ 58*f1c4c3daSCy Schubert fuzz_des \ 59*f1c4c3daSCy Schubert fuzz_gss \ 60*f1c4c3daSCy Schubert fuzz_json \ 61*f1c4c3daSCy Schubert fuzz_kdc \ 62*f1c4c3daSCy Schubert fuzz_krad \ 63*f1c4c3daSCy Schubert fuzz_krb \ 64*f1c4c3daSCy Schubert fuzz_krb5_ticket \ 65*f1c4c3daSCy Schubert fuzz_marshal_cred \ 66*f1c4c3daSCy Schubert fuzz_marshal_princ \ 67*f1c4c3daSCy Schubert fuzz_ndr \ 68*f1c4c3daSCy Schubert fuzz_oid \ 69*f1c4c3daSCy Schubert fuzz_pac \ 70*f1c4c3daSCy Schubert fuzz_profile \ 71*f1c4c3daSCy Schubert fuzz_util 72*f1c4c3daSCy Schubert 73*f1c4c3daSCy Schubertall: $(FUZZ_TARGETS) 74*f1c4c3daSCy Schubert 75*f1c4c3daSCy Schubert# OSS-Fuzz requires fuzz targets to be linked with the C++ linker, 76*f1c4c3daSCy Schubert# even if they are written in C. 77*f1c4c3daSCy Schubert 78*f1c4c3daSCy Schubertfuzz_aes: fuzz_aes.o $(KRB5_BASE_DEPLIBS) 79*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_aes.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 80*f1c4c3daSCy Schubert 81*f1c4c3daSCy Schubertfuzz_asn: fuzz_asn.o $(KRB5_BASE_DEPLIBS) 82*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_asn.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 83*f1c4c3daSCy Schubert 84*f1c4c3daSCy Schubertfuzz_attrset: fuzz_attrset.o $(KRB5_BASE_DEPLIBS) 85*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_attrset.o -lkrad $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 86*f1c4c3daSCy Schubert 87*f1c4c3daSCy Schubertfuzz_chpw: fuzz_chpw.o $(KRB5_BASE_DEPLIBS) 88*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_chpw.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 89*f1c4c3daSCy Schubert 90*f1c4c3daSCy Schubertfuzz_crypto: fuzz_crypto.o $(KRB5_BASE_DEPLIBS) 91*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_crypto.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 92*f1c4c3daSCy Schubert 93*f1c4c3daSCy Schubertfuzz_des: fuzz_des.o $(KRB5_BASE_DEPLIBS) 94*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_des.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 95*f1c4c3daSCy Schubert 96*f1c4c3daSCy Schubertfuzz_gss: fuzz_gss.o $(GSS_DEPLIBS) $(KRB5_BASE_DEPLIBS) 97*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_gss.o $(GSS_LIBS) $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 98*f1c4c3daSCy Schubert 99*f1c4c3daSCy Schubertfuzz_json: fuzz_json.o $(KRB5_BASE_DEPLIBS) 100*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_json.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 101*f1c4c3daSCy Schubert 102*f1c4c3daSCy Schubertfuzz_kdc: fuzz_kdc.o $(KRB5_BASE_DEPLIBS) 103*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_kdc.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 104*f1c4c3daSCy Schubert 105*f1c4c3daSCy Schubertfuzz_krad: fuzz_krad.o $(KRB5_BASE_DEPLIBS) 106*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_krad.o -lkrad $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 107*f1c4c3daSCy Schubert 108*f1c4c3daSCy Schubertfuzz_krb: fuzz_krb.o $(KRB5_BASE_DEPLIBS) 109*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_krb.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 110*f1c4c3daSCy Schubert 111*f1c4c3daSCy Schubertfuzz_krb5_ticket: fuzz_krb5_ticket.o $(KRB5_BASE_DEPLIBS) 112*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_krb5_ticket.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 113*f1c4c3daSCy Schubert 114*f1c4c3daSCy Schubertfuzz_marshal_cred: fuzz_marshal_cred.o $(KRB5_BASE_DEPLIBS) 115*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_marshal_cred.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 116*f1c4c3daSCy Schubert 117*f1c4c3daSCy Schubertfuzz_marshal_princ: fuzz_marshal_princ.o $(KRB5_BASE_DEPLIBS) 118*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_marshal_princ.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 119*f1c4c3daSCy Schubert 120*f1c4c3daSCy Schubertfuzz_ndr: fuzz_ndr.o $(KRB5_BASE_DEPLIBS) 121*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_ndr.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 122*f1c4c3daSCy Schubert 123*f1c4c3daSCy Schubertfuzz_oid: fuzz_oid.o $(GSS_DEPLIBS) $(KRB5_BASE_DEPLIBS) 124*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_oid.o $(GSS_LIBS) $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 125*f1c4c3daSCy Schubert 126*f1c4c3daSCy Schubertfuzz_pac: fuzz_pac.o $(KRB5_BASE_DEPLIBS) 127*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_pac.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 128*f1c4c3daSCy Schubert 129*f1c4c3daSCy Schubertfuzz_profile: fuzz_profile.o $(KRB5_BASE_DEPLIBS) 130*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_profile.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 131*f1c4c3daSCy Schubert 132*f1c4c3daSCy Schubertfuzz_util: fuzz_util.o $(KRB5_BASE_DEPLIBS) 133*f1c4c3daSCy Schubert $(CXX_LINK) -o $@ fuzz_util.o $(KRB5_BASE_LIBS) $(FUZZ_LDFLAGS) 134*f1c4c3daSCy Schubert 135*f1c4c3daSCy Schubertinstall: 136*f1c4c3daSCy Schubert 137*f1c4c3daSCy Schubertclean: 138*f1c4c3daSCy Schubert $(RM) $(FUZZ_TARGETS) 139