1*3fe5961aSDevin Teske /* 2*3fe5961aSDevin Teske * Copyright (c) 2013-2026 Devin Teske <dteske@FreeBSD.org> 3*3fe5961aSDevin Teske * Copyright (c) 2021-2026 Faraz Vahedi <kfv@FreeBSD.org> 4*3fe5961aSDevin Teske * 5*3fe5961aSDevin Teske * SPDX-License-Identifier: BSD-2-Clause 6*3fe5961aSDevin Teske */ 7*3fe5961aSDevin Teske 8*3fe5961aSDevin Teske #include "bsdconf_formats.h" 9*3fe5961aSDevin Teske 10*3fe5961aSDevin Teske /* 11*3fe5961aSDevin Teske * BSDCONF_FORMAT_MAKE: make.conf(5) 12*3fe5961aSDevin Teske * 13*3fe5961aSDevin Teske * make(1) syntax: assignment modifiers (`+=' `?=' `:=' `!=') are 14*3fe5961aSDevin Teske * recognized, matched, and rewritten (BSDCONF_OPERATOR_EQUALS), and values 15*3fe5961aSDevin Teske * are never quoted (BSDCONF_PUT_UNQUOTED) -- a value runs to the end of 16*3fe5961aSDevin Teske * the line, embedded whitespace included, so only a value that could not 17*3fe5961aSDevin Teske * round-trip verbatim (an embedded newline or comment marker) is rejected. 18*3fe5961aSDevin Teske * A put of `+=' appends a new `name+=value' line rather than rewriting a 19*3fe5961aSDevin Teske * prior assignment (see bsdconf_put()); callers that accumulate effective 20*3fe5961aSDevin Teske * values honor the same operators on read. sysconf(8) `name-=word' strikes 21*3fe5961aSDevin Teske * rewrite or remove a specific prior statement via match_line (make has no 22*3fe5961aSDevin Teske * `-=` operator of its own). 23*3fe5961aSDevin Teske */ 24*3fe5961aSDevin Teske const struct bsdconf_format_def bsdconf_format_make_def = { 25*3fe5961aSDevin Teske .keyword = "make", 26*3fe5961aSDevin Teske .path = "/etc/make.conf", 27*3fe5961aSDevin Teske .sources = NULL, /* /etc/make.conf alone */ 28*3fe5961aSDevin Teske .processing = BSDCONF_BREAK_ON_EQUALS | BSDCONF_CASE_SENSITIVE | 29*3fe5961aSDevin Teske BSDCONF_OPERATOR_EQUALS, 30*3fe5961aSDevin Teske .put = BSDCONF_PUT_UNQUOTED | BSDCONF_PUT_ALLOW_EMPTY, 31*3fe5961aSDevin Teske }; 32