Home | History | Annotate | Line # | Download | only in radeon
radeon2netbsd revision 1.2.2.2
      1  1.2.2.2  pgoyette #!/bin/sh
      2  1.2.2.2  pgoyette 
      3  1.2.2.2  pgoyette #	$NetBSD: radeon2netbsd,v 1.2.2.2 2018/09/06 06:56:37 pgoyette Exp $
      4  1.2.2.2  pgoyette #
      5  1.2.2.2  pgoyette # $ /path/to/radeon2netbsd > /path/to/files.radeon.new
      6  1.2.2.2  pgoyette #
      7  1.2.2.2  pgoyette # Run from the top-level Radeon source directory.
      8  1.2.2.2  pgoyette 
      9  1.2.2.2  pgoyette set -Ceu
     10  1.2.2.2  pgoyette 
     11  1.2.2.2  pgoyette : ${MV:=mv}
     12  1.2.2.2  pgoyette 
     13  1.2.2.2  pgoyette # Location of the Radeon sources relative to $NETBSDSRCDIR.
     14  1.2.2.2  pgoyette radeon_top=external/bsd/drm2/dist/drm/radeon
     15  1.2.2.2  pgoyette 
     16  1.2.2.2  pgoyette # config(5) flag for the Radeon driver.
     17  1.2.2.2  pgoyette radeon_flag=radeon
     18  1.2.2.2  pgoyette 
     19  1.2.2.2  pgoyette env CONFIG_ACPI=y \
     20  1.2.2.2  pgoyette env src=. \
     21  1.2.2.2  pgoyette make -f Makefile -V '$(radeon-y)' \
     22  1.2.2.2  pgoyette | tr ' ' '\n' \
     23  1.2.2.2  pgoyette | grep -v '^$' \
     24  1.2.2.2  pgoyette | sed -e 's,\.o$,.c,' \
     25  1.2.2.2  pgoyette | sort -u \
     26  1.2.2.2  pgoyette | awk '
     27  1.2.2.2  pgoyette 	BEGIN {
     28  1.2.2.2  pgoyette 		duplicates = 0
     29  1.2.2.2  pgoyette 	}
     30  1.2.2.2  pgoyette 	{
     31  1.2.2.2  pgoyette 		if (index($1, "/")) {
     32  1.2.2.2  pgoyette 			dir = $1
     33  1.2.2.2  pgoyette 			sub("/[^/]*$", "/", dir)
     34  1.2.2.2  pgoyette 			base = $1
     35  1.2.2.2  pgoyette 			sub("^.*/", "", base)
     36  1.2.2.2  pgoyette 		} else {
     37  1.2.2.2  pgoyette 			dir = ""
     38  1.2.2.2  pgoyette 			base = $1
     39  1.2.2.2  pgoyette 		}
     40  1.2.2.2  pgoyette 		fqbase = (base ~ "^radeon_" ? "" : "radeon_") base
     41  1.2.2.2  pgoyette 		if (seen[fqbase]) {
     42  1.2.2.2  pgoyette 			printf("Duplicate basename: %s %s\n", fqbase,
     43  1.2.2.2  pgoyette 			    seen[fqbase]) >"/dev/stderr"
     44  1.2.2.2  pgoyette 			duplicates = 1
     45  1.2.2.2  pgoyette 		}
     46  1.2.2.2  pgoyette 		if (duplicates)
     47  1.2.2.2  pgoyette 			next
     48  1.2.2.2  pgoyette 		printf("%s %s\n", $1, dir fqbase)
     49  1.2.2.2  pgoyette 	}
     50  1.2.2.2  pgoyette 	END {
     51  1.2.2.2  pgoyette 		if (duplicates) {
     52  1.2.2.2  pgoyette 			printf("Time to rewite me!\n") > "/dev/stderr"
     53  1.2.2.2  pgoyette 			exit 1
     54  1.2.2.2  pgoyette 		}
     55  1.2.2.2  pgoyette 	}
     56  1.2.2.2  pgoyette ' \
     57  1.2.2.2  pgoyette | while read from to; do
     58  1.2.2.2  pgoyette 	# If the move already happened, that's fine: the makefile
     59  1.2.2.2  pgoyette 	# detects duplicates.
     60  1.2.2.2  pgoyette 	if [ "x$from" != "x$to" -a \! -f "$to" ]; then
     61  1.2.2.2  pgoyette 		${MV} -f -- "$from" "$to"
     62  1.2.2.2  pgoyette 	fi
     63  1.2.2.2  pgoyette 	printf 'file\t%s\t%s\n' "$radeon_top/$to" "$radeon_flag"
     64  1.2.2.2  pgoyette done \
     65  1.2.2.2  pgoyette | sort -u
     66