1cc_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. 26cc_binary { 27 name: "awk-maketab", 28 defaults: ["awk-flags"], 29 srcs: ["maketab.c"] 30} 31 32cc_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 49cc_binary { 50 name: "awk", 51 defaults: ["awk-defaults"], 52} 53 54cc_binary { 55 name: "awk_vendor", 56 defaults: ["awk-defaults"], 57 stem: "awk", 58 vendor: true, 59} 60 61cc_binary_host { 62 name: "one-true-awk", 63 defaults: ["awk-defaults"], 64} 65