1 cc_defaults { 2 name: "awk-flags", 3 cflags: [ 4 "-Wall", 5 "-Werror", 6 "-Wextra", 7 // Ignore a few harmless idioms widely used in this code. 8 "-Wno-missing-field-initializers", 9 "-Wno-self-assign", 10 "-Wno-unused-parameter", 11 // A loop to UCHAR_MAX in `b.c`. 12 "-Wno-sign-compare", 13 // And one less harmless used with strtod(3) in `lex.c`. 14 "-Wno-unused-result", 15 // Also ignore harmless macro redefinitions: glibc 2.17 #defines dprintf 16 // in stdio2.h, and this #defines it in awk.h 17 "-Wno-macro-redefined", 18 ], 19 yaccflags: [ 20 "-y", 21 ], 22 } 23 24 // TODO: we should actually rebuild awkgram.y and pass the output through maketab. 25 // For now we just rebuild the checked-in generated files. 26 cc_binary { 27 name: "awk-maketab", 28 defaults: ["awk-flags"], 29 srcs: ["maketab.c"] 30 } 31 32 cc_defaults { 33 name: "awk-defaults", 34 defaults: ["awk-flags"], 35 36 srcs: [ 37 "b.c", 38 "lex.c", 39 "lib.c", 40 "main.c", 41 "parse.c", 42 "proctab.c", 43 "run.c", 44 "tran.c", 45 "ytab.c", 46 ], 47 } 48 49 cc_binary { 50 name: "awk", 51 defaults: ["awk-defaults"], 52 } 53 54 cc_binary { 55 name: "awk_vendor", 56 defaults: ["awk-defaults"], 57 stem: "awk", 58 vendor: true, 59 } 60 61 cc_binary_host { 62 name: "one-true-awk", 63 defaults: ["awk-defaults"], 64 } 65