Added drivers for 9.7" ePaper display
This commit is contained in:
		
							
								
								
									
										201
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/AsciiLib.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/AsciiLib.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,201 @@ | |||||||
|  | #include "AsciiLib.h" | ||||||
|  |  | ||||||
|  | static uint8_t const AsciiLib[95][16] = { | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00},/*"!",1*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x36,0x36,0x7F,0x36,0x36,0x36,0x7F,0x36,0x36,0x00,0x00,0x00,0x00},/*"#",3*/ | ||||||
|  |  | ||||||
|  | {0x00,0x18,0x18,0x3C,0x66,0x60,0x30,0x18,0x0C,0x06,0x66,0x3C,0x18,0x18,0x00,0x00},/*"$",4*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x70,0xD8,0xDA,0x76,0x0C,0x18,0x30,0x6E,0x5B,0x1B,0x0E,0x00,0x00,0x00},/*"%",5*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x38,0x6C,0x6C,0x38,0x60,0x6F,0x66,0x66,0x3B,0x00,0x00,0x00,0x00},/*"&",6*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x0C,0x18,0x18,0x30,0x30,0x30,0x30,0x30,0x18,0x18,0x0C,0x00,0x00},/*"(",8*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x30,0x18,0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x18,0x30,0x00,0x00},/*")",9*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x36,0x1C,0x7F,0x1C,0x36,0x00,0x00,0x00,0x00,0x00,0x00},/*"*",10*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00},/*"+",11*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x0C,0x18,0x00,0x00},/*",",12*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00},/*".",14*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x06,0x06,0x0C,0x0C,0x18,0x18,0x30,0x30,0x60,0x60,0x00,0x00,0x00},/*"/",15*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x1E,0x33,0x37,0x37,0x33,0x3B,0x3B,0x33,0x1E,0x00,0x00,0x00,0x00},/*"0",16*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x0C,0x1C,0x7C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x00,0x00,0x00,0x00},/*"1",17*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x66,0x06,0x0C,0x18,0x30,0x60,0x7E,0x00,0x00,0x00,0x00},/*"2",18*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x66,0x06,0x1C,0x06,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"3",19*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x30,0x30,0x36,0x36,0x36,0x66,0x7F,0x06,0x06,0x00,0x00,0x00,0x00},/*"4",20*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7C,0x06,0x06,0x0C,0x78,0x00,0x00,0x00,0x00},/*"5",21*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x1C,0x18,0x30,0x7C,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"6",22*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7E,0x06,0x0C,0x0C,0x18,0x18,0x30,0x30,0x30,0x00,0x00,0x00,0x00},/*"7",23*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x66,0x76,0x3C,0x6E,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"8",24*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x3E,0x0C,0x18,0x38,0x00,0x00,0x00,0x00},/*"9",25*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00},/*":",26*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x1C,0x1C,0x0C,0x18,0x00,0x00},/*";",27*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00,0x00},/*"<",28*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"=",29*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00},/*">",30*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x66,0x0C,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00},/*"?",31*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7E,0xC3,0xC3,0xCF,0xDB,0xDB,0xCF,0xC0,0x7F,0x00,0x00,0x00,0x00},/*"@",32*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x18,0x3C,0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"A",33*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00},/*"B",34*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x66,0x60,0x60,0x60,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"C",35*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x78,0x6C,0x66,0x66,0x66,0x66,0x66,0x6C,0x78,0x00,0x00,0x00,0x00},/*"D",36*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7C,0x60,0x60,0x60,0x7E,0x00,0x00,0x00,0x00},/*"E",37*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7C,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00},/*"F",38*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x66,0x60,0x60,0x6E,0x66,0x66,0x3E,0x00,0x00,0x00,0x00},/*"G",39*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"H",40*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},/*"I",41*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"J",42*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x66,0x66,0x6C,0x6C,0x78,0x6C,0x6C,0x66,0x66,0x00,0x00,0x00,0x00},/*"K",43*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7E,0x00,0x00,0x00,0x00},/*"L",44*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x63,0x63,0x77,0x6B,0x6B,0x6B,0x63,0x63,0x63,0x00,0x00,0x00,0x00},/*"M",45*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x63,0x63,0x73,0x7B,0x6F,0x67,0x63,0x63,0x63,0x00,0x00,0x00,0x00},/*"N",46*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"O",47*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00},/*"P",48*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x0C,0x06,0x00,0x00},/*"Q",49*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x6C,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"R",50*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x66,0x60,0x30,0x18,0x0C,0x06,0x66,0x3C,0x00,0x00,0x00,0x00},/*"S",51*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*"T",52*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"U",53*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00,0x00,0x00,0x00},/*"V",54*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x63,0x63,0x63,0x6B,0x6B,0x6B,0x36,0x36,0x36,0x00,0x00,0x00,0x00},/*"W",55*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x66,0x66,0x34,0x18,0x18,0x2C,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"X",56*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x3C,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*"Y",57*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x7E,0x06,0x06,0x0C,0x18,0x30,0x60,0x60,0x7E,0x00,0x00,0x00,0x00},/*"Z",58*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00},/*"[",59*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x60,0x60,0x30,0x30,0x18,0x18,0x0C,0x0C,0x06,0x06,0x00,0x00,0x00},/*"\",60*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00},/*"]",61*/ | ||||||
|  |  | ||||||
|  | {0x00,0x18,0x3C,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00},/*"_",63*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",64*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x3C,0x06,0x06,0x3E,0x66,0x66,0x3E,0x00,0x00,0x00,0x00},/*"a",65*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00},/*"b",66*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x60,0x60,0x60,0x66,0x3C,0x00,0x00,0x00,0x00},/*"c",67*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x06,0x06,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,0x00,0x00},/*"d",68*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x66,0x7E,0x60,0x60,0x3C,0x00,0x00,0x00,0x00},/*"e",69*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x1E,0x30,0x30,0x30,0x7E,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00},/*"f",70*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x7C,0x00},/*"g",71*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"h",72*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x18,0x18,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00},/*"i",73*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x0C,0x0C,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x78,0x00},/*"j",74*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x60,0x60,0x66,0x66,0x6C,0x78,0x6C,0x66,0x66,0x00,0x00,0x00,0x00},/*"k",75*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00},/*"l",76*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x7E,0x6B,0x6B,0x6B,0x6B,0x6B,0x63,0x00,0x00,0x00,0x00},/*"m",77*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"n",78*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"o",79*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x00},/*"p",80*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x06,0x00},/*"q",81*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x66,0x6E,0x70,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00},/*"r",82*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x3E,0x60,0x60,0x3C,0x06,0x06,0x7C,0x00,0x00,0x00,0x00},/*"s",83*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x30,0x30,0x7E,0x30,0x30,0x30,0x30,0x30,0x1E,0x00,0x00,0x00,0x00},/*"t",84*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,0x00,0x00},/*"u",85*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00,0x00,0x00,0x00},/*"v",86*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x63,0x6B,0x6B,0x6B,0x6B,0x36,0x36,0x00,0x00,0x00,0x00},/*"w",87*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x3C,0x18,0x3C,0x66,0x66,0x00,0x00,0x00,0x00},/*"x",88*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x0C,0x18,0xF0,0x00},/*"y",89*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x00,0x00,0x7E,0x06,0x0C,0x18,0x30,0x60,0x7E,0x00,0x00,0x00,0x00},/*"z",90*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x0C,0x18,0x18,0x18,0x30,0x60,0x30,0x18,0x18,0x18,0x0C,0x00,0x00},/*"{",91*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00},/*"|",92*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x30,0x18,0x18,0x18,0x0C,0x06,0x0C,0x18,0x18,0x18,0x30,0x00,0x00},/*"}",93*/ | ||||||
|  |  | ||||||
|  | {0x00,0x00,0x00,0x71,0xDB,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/ | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | void GetASCIICode(uint8_t* pBuffer,uint8_t ASCII) | ||||||
|  | {   | ||||||
|  |    memcpy(pBuffer,AsciiLib[(ASCII - 32)] ,16); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/AsciiLib.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/AsciiLib.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | #ifndef __AsciiLib_H | ||||||
|  | #define __AsciiLib_H   | ||||||
|  |  | ||||||
|  | #include <stdint.h> | ||||||
|  | #include <string.h> | ||||||
|  |  | ||||||
|  | void GetASCIICode(uint8_t* pBuffer,uint8_t ASCII); | ||||||
|  |  | ||||||
|  | #endif  | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/IT8951
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/IT8951
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										897
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/IT8951.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										897
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/IT8951.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,897 @@ | |||||||
|  | #include "IT8951.h" | ||||||
|  |  | ||||||
|  | /* | ||||||
|  | extern IT8951DevInfo gstI80DevInfo; | ||||||
|  | extern uint8_t* gpFrameBuf; 			//Host Source Frame buffer | ||||||
|  | extern uint32_t gulImgBufAddr;		//IT8951 Image buffer address | ||||||
|  | */ | ||||||
|  |  | ||||||
|  | //Global varivale | ||||||
|  | IT8951DevInfo gstI80DevInfo; | ||||||
|  | uint8_t* gpFrameBuf; //Host Source Frame buffer | ||||||
|  | uint32_t gulImgBufAddr; //IT8951 Image buffer address | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host controller function 1---Wait for host data Bus Ready | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void LCDWaitForReady() | ||||||
|  | { | ||||||
|  | 	uint8_t ulData = bcm2835_gpio_lev(HRDY); | ||||||
|  | 	while(ulData == 0) | ||||||
|  | 	{ | ||||||
|  | 		ulData = bcm2835_gpio_lev(HRDY); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host controller function 2---Write command code to host data Bus | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void LCDWriteCmdCode(uint16_t usCmdCode) | ||||||
|  | { | ||||||
|  | 	//Set Preamble for Write Command | ||||||
|  | 	uint16_t wPreamble = 0x6000;  | ||||||
|  | 	 | ||||||
|  | 	LCDWaitForReady();	 | ||||||
|  |  | ||||||
|  | 	bcm2835_gpio_write(CS,LOW); | ||||||
|  | 	 | ||||||
|  | 	bcm2835_spi_transfer(wPreamble>>8); | ||||||
|  | 	bcm2835_spi_transfer(wPreamble); | ||||||
|  | 	 | ||||||
|  | 	LCDWaitForReady();	 | ||||||
|  | 	 | ||||||
|  | 	bcm2835_spi_transfer(usCmdCode>>8); | ||||||
|  | 	bcm2835_spi_transfer(usCmdCode); | ||||||
|  | 	 | ||||||
|  | 	bcm2835_gpio_write(CS,HIGH);  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host controller function 3---Write Data to host data Bus | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void LCDWriteData(uint16_t usData) | ||||||
|  | { | ||||||
|  | 	//Set Preamble for Write Data | ||||||
|  | 	uint16_t wPreamble	= 0x0000; | ||||||
|  |  | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  |  | ||||||
|  | 	bcm2835_gpio_write(CS,LOW); | ||||||
|  |  | ||||||
|  | 	bcm2835_spi_transfer(wPreamble>>8); | ||||||
|  | 	bcm2835_spi_transfer(wPreamble); | ||||||
|  | 	 | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  | 			 | ||||||
|  | 	bcm2835_spi_transfer(usData>>8); | ||||||
|  | 	bcm2835_spi_transfer(usData); | ||||||
|  | 	 | ||||||
|  | 	bcm2835_gpio_write(CS,HIGH);  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void LCDWriteNData(uint16_t* pwBuf, uint32_t ulSizeWordCnt) | ||||||
|  | { | ||||||
|  | 	uint32_t i; | ||||||
|  |  | ||||||
|  | 	uint16_t wPreamble	= 0x0000; | ||||||
|  |  | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  |  | ||||||
|  | 	bcm2835_gpio_write(CS,LOW); | ||||||
|  | 	 | ||||||
|  | 	bcm2835_spi_transfer(wPreamble>>8); | ||||||
|  | 	bcm2835_spi_transfer(wPreamble); | ||||||
|  | 	 | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  |  | ||||||
|  | 	for(i=0;i<ulSizeWordCnt;i++) | ||||||
|  | 	{ | ||||||
|  | 		bcm2835_spi_transfer(pwBuf[i]>>8); | ||||||
|  | 		bcm2835_spi_transfer(pwBuf[i]); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	bcm2835_gpio_write(CS,HIGH);  | ||||||
|  | }   | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host controller function 4---Read Data from host data Bus | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | uint16_t LCDReadData() | ||||||
|  | { | ||||||
|  | 	uint16_t wRData;  | ||||||
|  | 	 | ||||||
|  | 	uint16_t wPreamble = 0x1000; | ||||||
|  |  | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  |  | ||||||
|  | 	bcm2835_gpio_write(CS,LOW); | ||||||
|  | 		 | ||||||
|  | 	bcm2835_spi_transfer(wPreamble>>8); | ||||||
|  | 	bcm2835_spi_transfer(wPreamble); | ||||||
|  |  | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  | 	 | ||||||
|  | 	wRData=bcm2835_spi_transfer(0x00);//dummy | ||||||
|  | 	wRData=bcm2835_spi_transfer(0x00);//dummy | ||||||
|  | 	 | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  | 	 | ||||||
|  | 	wRData = bcm2835_spi_transfer(0x00)<<8; | ||||||
|  | 	wRData |= bcm2835_spi_transfer(0x00); | ||||||
|  | 		 | ||||||
|  | 	bcm2835_gpio_write(CS,HIGH);  | ||||||
|  | 		 | ||||||
|  | 	return wRData; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //  Read Burst N words Data | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void LCDReadNData(uint16_t* pwBuf, uint32_t ulSizeWordCnt) | ||||||
|  | { | ||||||
|  | 	uint32_t i; | ||||||
|  | 	 | ||||||
|  | 	uint16_t wPreamble = 0x1000; | ||||||
|  |  | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  | 	 | ||||||
|  | 	bcm2835_gpio_write(CS,LOW); | ||||||
|  |  | ||||||
|  | 	bcm2835_spi_transfer(wPreamble>>8); | ||||||
|  | 	bcm2835_spi_transfer(wPreamble); | ||||||
|  | 	 | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  | 	 | ||||||
|  | 	pwBuf[0]=bcm2835_spi_transfer(0x00);//dummy | ||||||
|  | 	pwBuf[0]=bcm2835_spi_transfer(0x00);//dummy | ||||||
|  | 	 | ||||||
|  | 	LCDWaitForReady(); | ||||||
|  | 	 | ||||||
|  | 	for(i=0;i<ulSizeWordCnt;i++) | ||||||
|  | 	{ | ||||||
|  | 		pwBuf[i] = bcm2835_spi_transfer(0x00)<<8; | ||||||
|  | 		pwBuf[i] |= bcm2835_spi_transfer(0x00); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	bcm2835_gpio_write(CS,HIGH);  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host controller function 5---Write command to host data Bus with aruments | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void LCDSendCmdArg(uint16_t usCmdCode,uint16_t* pArg, uint16_t usNumArg) | ||||||
|  | { | ||||||
|  |      uint16_t i; | ||||||
|  |      //Send Cmd code | ||||||
|  |      LCDWriteCmdCode(usCmdCode); | ||||||
|  |      //Send Data | ||||||
|  |      for(i=0;i<usNumArg;i++) | ||||||
|  |      { | ||||||
|  |          LCDWriteData(pArg[i]); | ||||||
|  |      } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 1---SYS_RUN | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951SystemRun() | ||||||
|  | { | ||||||
|  |     LCDWriteCmdCode(IT8951_TCON_SYS_RUN); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 2---STANDBY | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951StandBy() | ||||||
|  | { | ||||||
|  |     LCDWriteCmdCode(IT8951_TCON_STANDBY); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 3---SLEEP | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951Sleep() | ||||||
|  | { | ||||||
|  |     LCDWriteCmdCode(IT8951_TCON_SLEEP); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 4---REG_RD | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | uint16_t IT8951ReadReg(uint16_t usRegAddr) | ||||||
|  | { | ||||||
|  | 	uint16_t usData; | ||||||
|  | 	 | ||||||
|  | 	//Send Cmd and Register Address | ||||||
|  | 	LCDWriteCmdCode(IT8951_TCON_REG_RD); | ||||||
|  | 	LCDWriteData(usRegAddr); | ||||||
|  | 	//Read data from Host Data bus | ||||||
|  | 	usData = LCDReadData(); | ||||||
|  | 	return usData; | ||||||
|  | } | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 5---REG_WR | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951WriteReg(uint16_t usRegAddr,uint16_t usValue) | ||||||
|  | { | ||||||
|  | 	//Send Cmd , Register Address and Write Value | ||||||
|  | 	LCDWriteCmdCode(IT8951_TCON_REG_WR); | ||||||
|  | 	LCDWriteData(usRegAddr); | ||||||
|  | 	LCDWriteData(usValue); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 6---MEM_BST_RD_T | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951MemBurstReadTrigger(uint32_t ulMemAddr , uint32_t ulReadSize) | ||||||
|  | { | ||||||
|  |     uint16_t usArg[4]; | ||||||
|  |     //Setting Arguments for Memory Burst Read | ||||||
|  |     usArg[0] = (uint16_t)(ulMemAddr & 0x0000FFFF); //addr[15:0] | ||||||
|  |     usArg[1] = (uint16_t)( (ulMemAddr >> 16) & 0x0000FFFF ); //addr[25:16] | ||||||
|  |     usArg[2] = (uint16_t)(ulReadSize & 0x0000FFFF); //Cnt[15:0] | ||||||
|  |     usArg[3] = (uint16_t)( (ulReadSize >> 16) & 0x0000FFFF ); //Cnt[25:16] | ||||||
|  |     //Send Cmd and Arg | ||||||
|  |     LCDSendCmdArg(IT8951_TCON_MEM_BST_RD_T , usArg , 4); | ||||||
|  | } | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 7---MEM_BST_RD_S | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951MemBurstReadStart() | ||||||
|  | { | ||||||
|  |     LCDWriteCmdCode(IT8951_TCON_MEM_BST_RD_S); | ||||||
|  | } | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 8---MEM_BST_WR | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951MemBurstWrite(uint32_t ulMemAddr , uint32_t ulWriteSize) | ||||||
|  | { | ||||||
|  |     uint16_t usArg[4]; | ||||||
|  |     //Setting Arguments for Memory Burst Write | ||||||
|  |     usArg[0] = (uint16_t)(ulMemAddr & 0x0000FFFF); //addr[15:0] | ||||||
|  |     usArg[1] = (uint16_t)( (ulMemAddr >> 16) & 0x0000FFFF ); //addr[25:16] | ||||||
|  |     usArg[2] = (uint16_t)(ulWriteSize & 0x0000FFFF); //Cnt[15:0] | ||||||
|  |     usArg[3] = (uint16_t)( (ulWriteSize >> 16) & 0x0000FFFF ); //Cnt[25:16] | ||||||
|  |     //Send Cmd and Arg | ||||||
|  |     LCDSendCmdArg(IT8951_TCON_MEM_BST_WR , usArg , 4); | ||||||
|  | } | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 9---MEM_BST_END | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951MemBurstEnd(void) | ||||||
|  | { | ||||||
|  |     LCDWriteCmdCode(IT8951_TCON_MEM_BST_END); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Example of Memory Burst Write | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | // **************************************************************************************** | ||||||
|  | // Function name: IT8951MemBurstWriteProc( ) | ||||||
|  | // | ||||||
|  | // Description: | ||||||
|  | //   IT8951 Burst Write procedure | ||||||
|  | //       | ||||||
|  | // Arguments: | ||||||
|  | //      uint32_t ulMemAddr: IT8951 Memory Target Address | ||||||
|  | //      uint32_t ulWriteSize: Write Size (Unit: Word) | ||||||
|  | //      uint8_t* pDestBuf - Buffer of Sent data | ||||||
|  | // Return Values: | ||||||
|  | //   NULL. | ||||||
|  | // Note: | ||||||
|  | // | ||||||
|  | // **************************************************************************************** | ||||||
|  | void IT8951MemBurstWriteProc(uint32_t ulMemAddr , uint32_t ulWriteSize, uint16_t* pSrcBuf ) | ||||||
|  | { | ||||||
|  |      | ||||||
|  |     uint32_t i; | ||||||
|  |   | ||||||
|  |     //Send Burst Write Start Cmd and Args | ||||||
|  |     IT8951MemBurstWrite(ulMemAddr , ulWriteSize); | ||||||
|  |   | ||||||
|  |     //Burst Write Data | ||||||
|  |     for(i=0;i<ulWriteSize;i++) | ||||||
|  |     { | ||||||
|  |         LCDWriteData(pSrcBuf[i]); | ||||||
|  |     } | ||||||
|  |   | ||||||
|  |     //Send Burst End Cmd | ||||||
|  |     IT8951MemBurstEnd(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // **************************************************************************************** | ||||||
|  | // Function name: IT8951MemBurstReadProc( ) | ||||||
|  | // | ||||||
|  | // Description: | ||||||
|  | //   IT8951 Burst Read procedure | ||||||
|  | //       | ||||||
|  | // Arguments: | ||||||
|  | //      uint32_t ulMemAddr: IT8951 Read Memory Address | ||||||
|  | //      uint32_t ulReadSize: Read Size (Unit: Word) | ||||||
|  | //      uint8_t* pDestBuf - Buffer for storing Read data | ||||||
|  | // Return Values: | ||||||
|  | //   NULL. | ||||||
|  | // Note: | ||||||
|  | // | ||||||
|  | // **************************************************************************************** | ||||||
|  | void IT8951MemBurstReadProc(uint32_t ulMemAddr , uint32_t ulReadSize, uint16_t* pDestBuf ) | ||||||
|  | { | ||||||
|  |     //Send Burst Read Start Cmd and Args | ||||||
|  |     IT8951MemBurstReadTrigger(ulMemAddr , ulReadSize); | ||||||
|  |            | ||||||
|  |     //Burst Read Fire | ||||||
|  |     IT8951MemBurstReadStart(); | ||||||
|  |      | ||||||
|  |     //Burst Read Request for SPI interface only | ||||||
|  |     LCDReadNData(pDestBuf, ulReadSize); | ||||||
|  |  | ||||||
|  |     //Send Burst End Cmd | ||||||
|  |     IT8951MemBurstEnd(); //the same with IT8951MemBurstEnd() | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 10---LD_IMG | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951LoadImgStart(IT8951LdImgInfo* pstLdImgInfo) | ||||||
|  | { | ||||||
|  |     uint16_t usArg; | ||||||
|  |     //Setting Argument for Load image start | ||||||
|  |     usArg = (pstLdImgInfo->usEndianType << 8 ) | ||||||
|  |     |(pstLdImgInfo->usPixelFormat << 4) | ||||||
|  |     |(pstLdImgInfo->usRotate); | ||||||
|  |     //Send Cmd | ||||||
|  |     LCDWriteCmdCode(IT8951_TCON_LD_IMG); | ||||||
|  |     //Send Arg | ||||||
|  |     LCDWriteData(usArg); | ||||||
|  | } | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 11---LD_IMG_AREA | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951LoadImgAreaStart(IT8951LdImgInfo* pstLdImgInfo ,IT8951AreaImgInfo* pstAreaImgInfo) | ||||||
|  | { | ||||||
|  |     uint16_t usArg[5]; | ||||||
|  |     //Setting Argument for Load image start | ||||||
|  |     usArg[0] = (pstLdImgInfo->usEndianType << 8 ) | ||||||
|  |     |(pstLdImgInfo->usPixelFormat << 4) | ||||||
|  |     |(pstLdImgInfo->usRotate); | ||||||
|  |     usArg[1] = pstAreaImgInfo->usX; | ||||||
|  |     usArg[2] = pstAreaImgInfo->usY; | ||||||
|  |     usArg[3] = pstAreaImgInfo->usWidth; | ||||||
|  |     usArg[4] = pstAreaImgInfo->usHeight; | ||||||
|  |     //Send Cmd and Args | ||||||
|  |     LCDSendCmdArg(IT8951_TCON_LD_IMG_AREA , usArg , 5); | ||||||
|  | } | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Host Cmd 12---LD_IMG_END | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951LoadImgEnd(void) | ||||||
|  | { | ||||||
|  |     LCDWriteCmdCode(IT8951_TCON_LD_IMG_END); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void GetIT8951SystemInfo(void* pBuf) | ||||||
|  | { | ||||||
|  | 	uint16_t* pusWord = (uint16_t*)pBuf; | ||||||
|  | 	IT8951DevInfo* pstDevInfo; | ||||||
|  |  | ||||||
|  | 	//Send I80 CMD | ||||||
|  | 	LCDWriteCmdCode(USDEF_I80_CMD_GET_DEV_INFO); | ||||||
|  |   | ||||||
|  | 	//Burst Read Request for SPI interface only | ||||||
|  | 	LCDReadNData(pusWord, sizeof(IT8951DevInfo)/2);//Polling HRDY for each words(2-bytes) if possible | ||||||
|  | 	 | ||||||
|  | 	//Show Device information of IT8951 | ||||||
|  | 	pstDevInfo = (IT8951DevInfo*)pBuf; | ||||||
|  | 	printf("Panel(W,H) = (%d,%d)\r\n", | ||||||
|  | 	pstDevInfo->usPanelW, pstDevInfo->usPanelH ); | ||||||
|  | 	printf("Image Buffer Address = %X\r\n", | ||||||
|  | 	pstDevInfo->usImgBufAddrL | (pstDevInfo->usImgBufAddrH << 16)); | ||||||
|  | 	//Show Firmware and LUT Version | ||||||
|  | 	printf("FW Version = %s\r\n", (uint8_t*)pstDevInfo->usFWVersion); | ||||||
|  | 	printf("LUT Version = %s\r\n", (uint8_t*)pstDevInfo->usLUTVersion); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Initial function 2---Set Image buffer base address | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951SetImgBufBaseAddr(uint32_t ulImgBufAddr) | ||||||
|  | { | ||||||
|  | 	uint16_t usWordH = (uint16_t)((ulImgBufAddr >> 16) & 0x0000FFFF); | ||||||
|  | 	uint16_t usWordL = (uint16_t)( ulImgBufAddr & 0x0000FFFF); | ||||||
|  | 	//Write LISAR Reg | ||||||
|  | 	IT8951WriteReg(LISAR + 2 ,usWordH); | ||||||
|  | 	IT8951WriteReg(LISAR ,usWordL); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | // 3.6. Display Functions | ||||||
|  | //----------------------------------------------------------- | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Display function 1---Wait for LUT Engine Finish | ||||||
|  | //                     Polling Display Engine Ready by LUTNo | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951WaitForDisplayReady() | ||||||
|  | { | ||||||
|  | 	//Check IT8951 Register LUTAFSR => NonZero Busy, 0 - Free | ||||||
|  | 	while(IT8951ReadReg(LUTAFSR)); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Display function 2---Load Image Area process | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951HostAreaPackedPixelWrite(IT8951LdImgInfo* pstLdImgInfo,IT8951AreaImgInfo* pstAreaImgInfo) | ||||||
|  | { | ||||||
|  | 	uint32_t i,j; | ||||||
|  | 	//Source buffer address of Host | ||||||
|  | 	uint16_t* pusFrameBuf = (uint16_t*)pstLdImgInfo->ulStartFBAddr; | ||||||
|  |  | ||||||
|  | 	//Set Image buffer(IT8951) Base address | ||||||
|  | 	IT8951SetImgBufBaseAddr(pstLdImgInfo->ulImgBufBaseAddr); | ||||||
|  | 	//Send Load Image start Cmd | ||||||
|  | 	IT8951LoadImgAreaStart(pstLdImgInfo , pstAreaImgInfo); | ||||||
|  | 	//Host Write Data | ||||||
|  | 	for(j=0;j< pstAreaImgInfo->usHeight;j++) | ||||||
|  | 	{ | ||||||
|  | 		 for(i=0;i< pstAreaImgInfo->usWidth/2;i++) | ||||||
|  | 			{ | ||||||
|  | 					//Write a Word(2-Bytes) for each time | ||||||
|  | 					LCDWriteData(*pusFrameBuf); | ||||||
|  | 					pusFrameBuf++; | ||||||
|  | 			} | ||||||
|  | 	} | ||||||
|  | 	//Send Load Img End Command | ||||||
|  | 	IT8951LoadImgEnd(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Display functions 3---Application for Display panel Area | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951DisplayArea(uint16_t usX, uint16_t usY, uint16_t usW, uint16_t usH, uint16_t usDpyMode) | ||||||
|  | { | ||||||
|  | 	//Send I80 Display Command (User defined command of IT8951) | ||||||
|  | 	LCDWriteCmdCode(USDEF_I80_CMD_DPY_AREA); //0x0034 | ||||||
|  | 	//Write arguments | ||||||
|  | 	LCDWriteData(usX); | ||||||
|  | 	LCDWriteData(usY); | ||||||
|  | 	LCDWriteData(usW); | ||||||
|  | 	LCDWriteData(usH); | ||||||
|  | 	LCDWriteData(usDpyMode); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //Display Area with bitmap on EPD | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | // Display Function 4---for Display Area for 1-bpp mode format | ||||||
|  | //   the bitmap(1bpp) mode will be enable when Display | ||||||
|  | //   and restore to Default setting (disable) after displaying finished | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951DisplayArea1bpp(uint16_t usX, uint16_t usY, uint16_t usW, uint16_t usH, uint16_t usDpyMode, uint8_t ucBGGrayVal, uint8_t ucFGGrayVal) | ||||||
|  | { | ||||||
|  |     //Set Display mode to 1 bpp mode - Set 0x18001138 Bit[18](0x1800113A Bit[2])to 1 | ||||||
|  |     IT8951WriteReg(UP1SR+2, IT8951ReadReg(UP1SR+2) | (1<<2)); | ||||||
|  |      | ||||||
|  |     //Set BitMap color table 0 and 1 , => Set Register[0x18001250]: | ||||||
|  |     //Bit[7:0]: ForeGround Color(G0~G15)  for 1 | ||||||
|  |     //Bit[15:8]:Background Color(G0~G15)  for 0 | ||||||
|  |     IT8951WriteReg(BGVR, (ucBGGrayVal<<8) | ucFGGrayVal); | ||||||
|  |      | ||||||
|  |     //Display | ||||||
|  |     IT8951DisplayArea( usX, usY, usW, usH, usDpyMode); | ||||||
|  |     IT8951WaitForDisplayReady(); | ||||||
|  |      | ||||||
|  |     //Restore to normal mode | ||||||
|  |     IT8951WriteReg(UP1SR+2, IT8951ReadReg(UP1SR+2) & ~(1<<2)); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //------------------------------------------------------------------------------------------------------------- | ||||||
|  | // 	Command - 0x0037 for Display Base addr by User  | ||||||
|  | //  uint32_t ulDpyBufAddr - Host programmer need to indicate the Image buffer address of IT8951 | ||||||
|  | //                                         In current case, there is only one image buffer in IT8951 so far. | ||||||
|  | //                                         So Please set the Image buffer address you got  in initial stage. | ||||||
|  | //                                         (gulImgBufAddr by Get device information 0x0302 command) | ||||||
|  | // | ||||||
|  | //------------------------------------------------------------------------------------------------------------- | ||||||
|  | void IT8951DisplayAreaBuf(uint16_t usX, uint16_t usY, uint16_t usW, uint16_t usH, uint16_t usDpyMode, uint32_t ulDpyBufAddr) | ||||||
|  | { | ||||||
|  |     //Send I80 Display Command (User defined command of IT8951) | ||||||
|  |     LCDWriteCmdCode(USDEF_I80_CMD_DPY_BUF_AREA); //0x0037 | ||||||
|  |      | ||||||
|  |     //Write arguments | ||||||
|  |     LCDWriteData(usX); | ||||||
|  |     LCDWriteData(usY); | ||||||
|  |     LCDWriteData(usW); | ||||||
|  |     LCDWriteData(usH); | ||||||
|  |     LCDWriteData(usDpyMode); | ||||||
|  |     LCDWriteData((uint16_t)ulDpyBufAddr);       //Display Buffer Base address[15:0] | ||||||
|  |     LCDWriteData((uint16_t)(ulDpyBufAddr>>16)); //Display Buffer Base address[26:16] | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Test function 1---Software Initial | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | uint8_t IT8951_Init() | ||||||
|  | { | ||||||
|  | 	if (!bcm2835_init())  | ||||||
|  | 	{ | ||||||
|  | 		printf("bcm2835_init error \n"); | ||||||
|  | 		return 1; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	bcm2835_spi_begin(); | ||||||
|  | 	bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST);   	//default | ||||||
|  | 	bcm2835_spi_setDataMode(BCM2835_SPI_MODE0);               		//default | ||||||
|  | 	bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_32);		//default | ||||||
|  | 	 | ||||||
|  | 	bcm2835_gpio_fsel(CS, BCM2835_GPIO_FSEL_OUTP);   | ||||||
|  | 	bcm2835_gpio_fsel(HRDY, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RESET, BCM2835_GPIO_FSEL_OUTP); | ||||||
|  | 	 | ||||||
|  | 	bcm2835_gpio_write(CS, HIGH); | ||||||
|  |  | ||||||
|  | 	printf("****** IT8951 ******\n"); | ||||||
|  | 	 | ||||||
|  | 	bcm2835_gpio_write(RESET, LOW); | ||||||
|  | 	bcm2835_delay(100); | ||||||
|  | 	bcm2835_gpio_write(RESET, HIGH); | ||||||
|  |  | ||||||
|  | 	//Get Device Info | ||||||
|  | 	GetIT8951SystemInfo(&gstI80DevInfo); | ||||||
|  | 	 | ||||||
|  | 	gpFrameBuf = malloc(gstI80DevInfo.usPanelW * gstI80DevInfo.usPanelH); | ||||||
|  | 	if (!gpFrameBuf) | ||||||
|  | 	{ | ||||||
|  | 		perror("malloc error!\n"); | ||||||
|  | 		return 1; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  |  	gulImgBufAddr = gstI80DevInfo.usImgBufAddrL | (gstI80DevInfo.usImgBufAddrH << 16); | ||||||
|  |  	 | ||||||
|  |  	//Set to Enable I80 Packed mode | ||||||
|  |  	IT8951WriteReg(I80CPCR, 0x0001); | ||||||
|  |  | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void IT8951_Cancel() | ||||||
|  | { | ||||||
|  | 	free(gpFrameBuf); | ||||||
|  |  | ||||||
|  | 	bcm2835_spi_end(); | ||||||
|  | 	bcm2835_close(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Test function 2---Example of Display Flow | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951DisplayExample() | ||||||
|  | { | ||||||
|  | 	IT8951LdImgInfo stLdImgInfo; | ||||||
|  | 	IT8951AreaImgInfo stAreaImgInfo; | ||||||
|  | 	 | ||||||
|  | 	//Prepare image | ||||||
|  | 	//Write pixel 0xF0(White) to Frame Buffer | ||||||
|  |  	memset(gpFrameBuf, 0xF0, gstI80DevInfo.usPanelW * gstI80DevInfo.usPanelH); | ||||||
|  | 	 | ||||||
|  |  	//Check TCon is free ? Wait TCon Ready (optional) | ||||||
|  |  	IT8951WaitForDisplayReady(); | ||||||
|  |  	 | ||||||
|  |  	//-------------------------------------------------------------------------------------------- | ||||||
|  |  	//      initial display - Display white only | ||||||
|  |  	//-------------------------------------------------------------------------------------------- | ||||||
|  |  	//Load Image and Display | ||||||
|  |  	//Setting Load image information | ||||||
|  |  	stLdImgInfo.ulStartFBAddr    = (uint32_t)gpFrameBuf; | ||||||
|  |  	stLdImgInfo.usEndianType     = IT8951_LDIMG_L_ENDIAN; | ||||||
|  |  	stLdImgInfo.usPixelFormat    = IT8951_8BPP; | ||||||
|  |  	stLdImgInfo.usRotate         = IT8951_ROTATE_0; | ||||||
|  |  	stLdImgInfo.ulImgBufBaseAddr = gulImgBufAddr; | ||||||
|  |  	//Set Load Area | ||||||
|  |  	stAreaImgInfo.usX      = 0; | ||||||
|  |  	stAreaImgInfo.usY      = 0; | ||||||
|  |  	stAreaImgInfo.usWidth  = gstI80DevInfo.usPanelW; | ||||||
|  |  	stAreaImgInfo.usHeight = gstI80DevInfo.usPanelH; | ||||||
|  |  	 | ||||||
|  |  	//Load Image from Host to IT8951 Image Buffer | ||||||
|  |  	IT8951HostAreaPackedPixelWrite(&stLdImgInfo, &stAreaImgInfo);//Display function 2 | ||||||
|  |  	//Display Area ?V (x,y,w,h) with mode 0 for initial White to clear Panel | ||||||
|  |  	IT8951DisplayArea(0,0, gstI80DevInfo.usPanelW, gstI80DevInfo.usPanelH, 0); | ||||||
|  |  	 | ||||||
|  |  	//-------------------------------------------------------------------------------------------- | ||||||
|  |  	//      Regular display - Display Any Gray colors with Mode 2 or others | ||||||
|  |  	//-------------------------------------------------------------------------------------------- | ||||||
|  |  	//Preparing buffer to All black (8 bpp image) | ||||||
|  |  	//or you can create your image pattern here.. | ||||||
|  |  	memset(gpFrameBuf, 0x00, gstI80DevInfo.usPanelW * gstI80DevInfo.usPanelH); | ||||||
|  |  	  | ||||||
|  |  	IT8951WaitForDisplayReady(); | ||||||
|  |  	 | ||||||
|  |  	//Setting Load image information | ||||||
|  |  	stLdImgInfo.ulStartFBAddr    = (uint32_t)gpFrameBuf; | ||||||
|  |  	stLdImgInfo.usEndianType     = IT8951_LDIMG_L_ENDIAN; | ||||||
|  |  	stLdImgInfo.usPixelFormat    = IT8951_8BPP;  | ||||||
|  |  	stLdImgInfo.usRotate         = IT8951_ROTATE_0; | ||||||
|  |  	stLdImgInfo.ulImgBufBaseAddr = gulImgBufAddr; | ||||||
|  |  	//Set Load Area | ||||||
|  |  	stAreaImgInfo.usX      = 0; | ||||||
|  |  	stAreaImgInfo.usY      = 0; | ||||||
|  |  	stAreaImgInfo.usWidth  = gstI80DevInfo.usPanelW; | ||||||
|  |  	stAreaImgInfo.usHeight = gstI80DevInfo.usPanelH; | ||||||
|  |  	 | ||||||
|  |  	//Load Image from Host to IT8951 Image Buffer | ||||||
|  |  	IT8951HostAreaPackedPixelWrite(&stLdImgInfo, &stAreaImgInfo);//Display function 2 | ||||||
|  |  	//Display Area ?V (x,y,w,h) with mode 2 for fast gray clear mode - depends on current waveform  | ||||||
|  |  	IT8951DisplayArea(0,0, gstI80DevInfo.usPanelW, gstI80DevInfo.usPanelH, 2); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void IT8951DisplayExample2() | ||||||
|  | { | ||||||
|  | 	IT8951LdImgInfo stLdImgInfo; | ||||||
|  | 	IT8951AreaImgInfo stAreaImgInfo; | ||||||
|  | 	 | ||||||
|  | 	//-------------------------------------------------------------------------------------------- | ||||||
|  | 	//      Regular display - Display Any Gray colors with Mode 2 or others | ||||||
|  | 	//-------------------------------------------------------------------------------------------- | ||||||
|  | 	//Preparing buffer to All black (8 bpp image) | ||||||
|  | 	//or you can create your image pattern here.. | ||||||
|  | 	memset(gpFrameBuf              , 0x00, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 1, 0x11, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 2, 0x22, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 3, 0x33, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 4, 0x44, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 5, 0x55, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 6, 0x66, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 7, 0x77, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 8, 0x88, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 9, 0x99, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 10, 0xaa, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 11, 0xbb, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 12, 0xcc, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 13, 0xdd, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 14, 0xee, 1200 * 51 * 1); | ||||||
|  | 	memset(gpFrameBuf+1200 * 51 * 15, 0xff, (1200*825)-(1200 * 51 * 15)); | ||||||
|  | 	IT8951WaitForDisplayReady(); | ||||||
|  | 	//Setting Load image information | ||||||
|  | 	stLdImgInfo.ulStartFBAddr    = (uint32_t)gpFrameBuf; | ||||||
|  | 	stLdImgInfo.usEndianType     = IT8951_LDIMG_L_ENDIAN; | ||||||
|  | 	stLdImgInfo.usPixelFormat    = IT8951_8BPP;  | ||||||
|  | 	stLdImgInfo.usRotate         = IT8951_ROTATE_0; | ||||||
|  | 	stLdImgInfo.ulImgBufBaseAddr = gulImgBufAddr; | ||||||
|  | 	//Set Load Area | ||||||
|  | 	stAreaImgInfo.usX      = 0; | ||||||
|  | 	stAreaImgInfo.usY      = 0; | ||||||
|  | 	stAreaImgInfo.usWidth  = gstI80DevInfo.usPanelW; | ||||||
|  | 	stAreaImgInfo.usHeight = gstI80DevInfo.usPanelH; | ||||||
|  | 	//Load Image from Host to IT8951 Image Buffer | ||||||
|  | 	IT8951HostAreaPackedPixelWrite(&stLdImgInfo, &stAreaImgInfo);//Display function 2 | ||||||
|  | 	//Display Area ?V (x,y,w,h) with mode 2 for fast gray clear mode - depends on current waveform  | ||||||
|  | 	IT8951DisplayArea(0,0, gstI80DevInfo.usPanelW, gstI80DevInfo.usPanelH, 2); | ||||||
|  | } | ||||||
|  | /* | ||||||
|  | extern const unsigned char pic[]; | ||||||
|  | void IT8951DisplayExample3() | ||||||
|  | { | ||||||
|  | 	IT8951LdImgInfo stLdImgInfo; | ||||||
|  | 	IT8951AreaImgInfo stAreaImgInfo; | ||||||
|  | 	uint32_t i; | ||||||
|  | 	 | ||||||
|  | 	for (i = 0;i < 1200*825;i++) | ||||||
|  | 	{ | ||||||
|  | 		gpFrameBuf[i] = pic[i]; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	IT8951WaitForDisplayReady(); | ||||||
|  | 	 | ||||||
|  | 	//Setting Load image information | ||||||
|  | 	stLdImgInfo.ulStartFBAddr    = (uint32_t)gpFrameBuf; | ||||||
|  | 	stLdImgInfo.usEndianType     = IT8951_LDIMG_L_ENDIAN; | ||||||
|  | 	stLdImgInfo.usPixelFormat    = IT8951_8BPP;  | ||||||
|  | 	stLdImgInfo.usRotate         = IT8951_ROTATE_0; | ||||||
|  | 	stLdImgInfo.ulImgBufBaseAddr = gulImgBufAddr; | ||||||
|  | 	//Set Load Area | ||||||
|  | 	stAreaImgInfo.usX      = 0; | ||||||
|  | 	stAreaImgInfo.usY      = 0; | ||||||
|  | 	stAreaImgInfo.usWidth  = 1200; | ||||||
|  | 	stAreaImgInfo.usHeight = 825; | ||||||
|  | 	 | ||||||
|  | 	//Load Image from Host to IT8951 Image Buffer | ||||||
|  | 	IT8951HostAreaPackedPixelWrite(&stLdImgInfo, &stAreaImgInfo);//Display function 2 | ||||||
|  | 	//Display Area ?V (x,y,w,h) with mode 2 for fast gray clear mode - depends on current waveform  | ||||||
|  | 	IT8951DisplayArea(0,0, gstI80DevInfo.usPanelW, gstI80DevInfo.usPanelH, 2); | ||||||
|  | } | ||||||
|  | */ | ||||||
|  |  | ||||||
|  | extern uint16_t bmp01[]; | ||||||
|  |  | ||||||
|  | void IT8951_GUI_Example() | ||||||
|  | { | ||||||
|  | 	IT8951LdImgInfo stLdImgInfo; | ||||||
|  | 	IT8951AreaImgInfo stAreaImgInfo; | ||||||
|  | 	Point point[5]; | ||||||
|  | 	 | ||||||
|  | 	//memset(gpFrameBuf, 0xff, gstI80DevInfo.usPanelW * gstI80DevInfo.usPanelH); | ||||||
|  | 	EPD_Clear(0xff); | ||||||
|  |  | ||||||
|  | 	EPD_DrawLine(100,100,200,200,0x40); | ||||||
|  | 	EPD_DrawLine(200,200,400,200,0x40); | ||||||
|  | 	EPD_DrawLine(400,200,400,400,0x40); | ||||||
|  | 	EPD_DrawLine(400,400,600,400,0x40); | ||||||
|  | 	EPD_DrawLine(600,600,800,800,0x40); | ||||||
|  |  | ||||||
|  | 	EPD_DrawLine(0,0,99,99,0x10); | ||||||
|  | 	EPD_DrawLine(801,801,1200,825,0x00); | ||||||
|  |  | ||||||
|  | 	EPD_DrawRect(500, 500, 100, 100, 0x00); | ||||||
|  |  | ||||||
|  | 	EPD_DrawCircle(700, 500, 100, 0x00); | ||||||
|  |  | ||||||
|  | 	point[0].X = 30; | ||||||
|  | 	point[0].Y = 40; | ||||||
|  | 	 | ||||||
|  | 	point[1].X = 40; | ||||||
|  | 	point[1].Y = 70; | ||||||
|  |  | ||||||
|  | 	point[2].X = 50; | ||||||
|  | 	point[2].Y = 90; | ||||||
|  |  | ||||||
|  | 	point[3].X = 90; | ||||||
|  | 	point[3].Y = 60; | ||||||
|  |  | ||||||
|  | 	point[4].X = 70; | ||||||
|  | 	point[4].Y = 20; | ||||||
|  |  | ||||||
|  | 	EPD_DrawPolygon(point,5,0x00); | ||||||
|  |  | ||||||
|  | 	EPD_DrawEllipse(800, 300, 100, 50, 0x00); | ||||||
|  |  | ||||||
|  | 	EPD_FillRect(300, 500, 100, 50, 0x00); | ||||||
|  | 		 | ||||||
|  | 	EPD_FillCircle(100, 500, 70,0x00); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	EPD_Text(400,100, (uint8_t*)"hello world",0x00, 0xff); | ||||||
|  | 	EPD_Text(400,200, (uint8_t*)"yang weibiao",0x00, 0xff); | ||||||
|  |   | ||||||
|  |  | ||||||
|  | //	EPD_DrawBitmap(0,0,bmp01); | ||||||
|  |  | ||||||
|  | 	//EPD_DrawMatrix(1,1,550,412,bmp01); | ||||||
|  | 	EPD_DrawMatrix(100,100,550,412,bmp01); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | 	//<2F><>ʾͼ<CABE><CDBC> | ||||||
|  | 	//Show_bmp("16.bmp"); | ||||||
|  |  | ||||||
|  | 	 | ||||||
|  | 	IT8951WaitForDisplayReady(); | ||||||
|  | 	 | ||||||
|  | 	//Setting Load image information | ||||||
|  | 	stLdImgInfo.ulStartFBAddr    = (uint32_t)gpFrameBuf; | ||||||
|  | 	stLdImgInfo.usEndianType     = IT8951_LDIMG_L_ENDIAN; | ||||||
|  | 	stLdImgInfo.usPixelFormat    = IT8951_8BPP;  | ||||||
|  | 	stLdImgInfo.usRotate         = IT8951_ROTATE_0; | ||||||
|  | 	stLdImgInfo.ulImgBufBaseAddr = gulImgBufAddr; | ||||||
|  | 	//Set Load Area | ||||||
|  | 	stAreaImgInfo.usX      = 0; | ||||||
|  | 	stAreaImgInfo.usY      = 0; | ||||||
|  | 	stAreaImgInfo.usWidth  = 1200; | ||||||
|  | 	stAreaImgInfo.usHeight = 825; | ||||||
|  | 	 | ||||||
|  | 	//Load Image from Host to IT8951 Image Buffer | ||||||
|  | 	IT8951HostAreaPackedPixelWrite(&stLdImgInfo, &stAreaImgInfo);//Display function 2 | ||||||
|  | 	//Display Area ?V (x,y,w,h) with mode 2 for fast gray clear mode - depends on current waveform  | ||||||
|  | 	IT8951DisplayArea(0,0, gstI80DevInfo.usPanelW, gstI80DevInfo.usPanelH, 2); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void IT8951_BMP_Example(uint32_t x, uint32_t y,char *path) | ||||||
|  | { | ||||||
|  | 	IT8951LdImgInfo stLdImgInfo; | ||||||
|  | 	IT8951AreaImgInfo stAreaImgInfo; | ||||||
|  | 	 | ||||||
|  | 	EPD_Clear(0xff); | ||||||
|  | 	 | ||||||
|  | 	//<2F><>ʾͼ<CABE><CDBC> | ||||||
|  | 	Show_bmp(x,y,path); | ||||||
|  |  | ||||||
|  | 	 | ||||||
|  | 	IT8951WaitForDisplayReady(); | ||||||
|  | 	 | ||||||
|  | 	//Setting Load image information | ||||||
|  | 	stLdImgInfo.ulStartFBAddr    = (uint32_t)gpFrameBuf; | ||||||
|  | 	stLdImgInfo.usEndianType     = IT8951_LDIMG_L_ENDIAN; | ||||||
|  | 	stLdImgInfo.usPixelFormat    = IT8951_8BPP;  | ||||||
|  | 	stLdImgInfo.usRotate         = IT8951_ROTATE_0; | ||||||
|  | 	stLdImgInfo.ulImgBufBaseAddr = gulImgBufAddr; | ||||||
|  | 	//Set Load Area | ||||||
|  | 	stAreaImgInfo.usX      = 0; | ||||||
|  | 	stAreaImgInfo.usY      = 0; | ||||||
|  | 	stAreaImgInfo.usWidth  = 1200; | ||||||
|  | 	stAreaImgInfo.usHeight = 825; | ||||||
|  | 	 | ||||||
|  | 	//Load Image from Host to IT8951 Image Buffer | ||||||
|  | 	IT8951HostAreaPackedPixelWrite(&stLdImgInfo, &stAreaImgInfo);//Display function 2 | ||||||
|  | 	//Display Area ?V (x,y,w,h) with mode 2 for fast gray clear mode - depends on current waveform  | ||||||
|  | 	IT8951DisplayArea(0,0, gstI80DevInfo.usPanelW, gstI80DevInfo.usPanelH, 2); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | // Load 1bpp image flow (must display with IT8951DisplayArea1bpp() | ||||||
|  | //----------------------------------------------------------- | ||||||
|  |  | ||||||
|  | void IT8951Load1bppImage(uint8_t* p1bppImgBuf, uint16_t usX, uint16_t usY, uint16_t usW, uint16_t usH) | ||||||
|  | { | ||||||
|  |     IT8951LdImgInfo stLdImgInfo; | ||||||
|  |     IT8951AreaImgInfo stAreaImgInfo; | ||||||
|  | 	 | ||||||
|  |     //Setting Load image information | ||||||
|  |     stLdImgInfo.ulStartFBAddr    = (uint32_t) p1bppImgBuf; | ||||||
|  |     stLdImgInfo.usEndianType     = IT8951_LDIMG_L_ENDIAN; | ||||||
|  |     stLdImgInfo.usPixelFormat    = IT8951_8BPP; //we use 8bpp because IT8951 dose not support 1bpp mode for load image?Aso we use Load 8bpp mode ,but the transfer size needs to be reduced to Size/8 | ||||||
|  |     stLdImgInfo.usRotate         = IT8951_ROTATE_0; | ||||||
|  |     stLdImgInfo.ulImgBufBaseAddr = gulImgBufAddr; | ||||||
|  |     //Set Load Area | ||||||
|  |     stAreaImgInfo.usX      = usX/8; | ||||||
|  |     stAreaImgInfo.usY      = usY; | ||||||
|  |     stAreaImgInfo.usWidth  = usW/8;//1bpp, Chaning Transfer size setting to 1/8X of 8bpp mode  | ||||||
|  |     stAreaImgInfo.usHeight = usH; | ||||||
|  |     printf("IT8951HostAreaPackedPixelWrite [wait]\n\r"); | ||||||
|  |     //Load Image from Host to IT8951 Image Buffer | ||||||
|  |     IT8951HostAreaPackedPixelWrite(&stLdImgInfo, &stAreaImgInfo);//Display function 2 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | //Test function 3---Example of Display 1bpp Flow | ||||||
|  | //----------------------------------------------------------- | ||||||
|  | void IT8951Display1bppExample() | ||||||
|  | { | ||||||
|  |     IT8951AreaImgInfo stAreaImgInfo; | ||||||
|  |      | ||||||
|  |     //Prepare image | ||||||
|  |     //Write pixel 0x00(Black) to Frame Buffer | ||||||
|  |     //or you can create your image pattern here.. | ||||||
|  |      memset(gpFrameBuf, 0x00, (gstI80DevInfo.usPanelW * gstI80DevInfo.usPanelH)/8);//Host Frame Buffer(Source) | ||||||
|  |       | ||||||
|  |      //Check TCon is free ? Wait TCon Ready (optional) | ||||||
|  |      IT8951WaitForDisplayReady(); | ||||||
|  |       | ||||||
|  |      //Load Image and Display | ||||||
|  |      //Set Load Area | ||||||
|  |      stAreaImgInfo.usX      = 0; | ||||||
|  |      stAreaImgInfo.usY      = 0; | ||||||
|  |      stAreaImgInfo.usWidth  = gstI80DevInfo.usPanelW; | ||||||
|  |      stAreaImgInfo.usHeight = gstI80DevInfo.usPanelH; | ||||||
|  |      //Load Image from Host to IT8951 Image Buffer | ||||||
|  |      IT8951Load1bppImage(gpFrameBuf, stAreaImgInfo.usX, stAreaImgInfo.usY, stAreaImgInfo.usWidth, stAreaImgInfo.usHeight);//Display function 4, Arg | ||||||
|  |       | ||||||
|  |      //Display Area - (x,y,w,h) with mode 2 for Gray Scale | ||||||
|  |      //e.g. if we want to set b0(Background color) for Black-0x00 , Set b1(Foreground) for White-0xFF | ||||||
|  |      IT8951DisplayArea1bpp(0,0, gstI80DevInfo.usPanelW, gstI80DevInfo.usPanelH, 0, 0x00, 0xFF); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void IT8951Display1bppExample2() | ||||||
|  | { | ||||||
|  |     IT8951AreaImgInfo stAreaImgInfo; | ||||||
|  |      | ||||||
|  |     //Prepare image | ||||||
|  |     //Write pixel 0x00(Black) to Frame Buffer | ||||||
|  |     //or you can create your image pattern here.. | ||||||
|  |     memset(gpFrameBuf, 0xff, (gstI80DevInfo.usPanelW * gstI80DevInfo.usPanelH)/8);//Host Frame Buffer(Source) | ||||||
|  |      | ||||||
|  |     //Check TCon is free ? Wait TCon Ready (optional) | ||||||
|  |     IT8951WaitForDisplayReady(); | ||||||
|  |      | ||||||
|  |     //Load Image and Display | ||||||
|  |     //Set Load Area | ||||||
|  |     stAreaImgInfo.usX      = 0; | ||||||
|  |     stAreaImgInfo.usY      = 0; | ||||||
|  |     stAreaImgInfo.usWidth  = gstI80DevInfo.usPanelW; | ||||||
|  |     stAreaImgInfo.usHeight = gstI80DevInfo.usPanelH; | ||||||
|  |     //Load Image from Host to IT8951 Image Buffer | ||||||
|  |     IT8951Load1bppImage(gpFrameBuf, stAreaImgInfo.usX, stAreaImgInfo.usY, stAreaImgInfo.usWidth, stAreaImgInfo.usHeight);//Display function 4, Arg | ||||||
|  |      | ||||||
|  |     //Display Area - (x,y,w,h) with mode 2 for Gray Scale | ||||||
|  |     //e.g. if we want to set b0(Background color) for Black-0x00 , Set b1(Foreground) for White-0xFF | ||||||
|  |     IT8951DisplayArea1bpp(0,0, gstI80DevInfo.usPanelW, gstI80DevInfo.usPanelH, 0, 0x00, 0xFF); | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										168
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/IT8951.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/IT8951.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,168 @@ | |||||||
|  | #ifndef _IT8951_H_ | ||||||
|  | #define _IT8951_H_ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdint.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <string.h> | ||||||
|  | #include "miniGUI.h" | ||||||
|  |  | ||||||
|  | #define CS 				8 | ||||||
|  | #define HRDY 	        24 | ||||||
|  | #define RESET 	        17 | ||||||
|  |  | ||||||
|  | //prototype of structure | ||||||
|  | //structure prototype 1 | ||||||
|  | typedef struct IT8951LdImgInfo | ||||||
|  | { | ||||||
|  |     uint16_t usEndianType; //little or Big Endian | ||||||
|  |     uint16_t usPixelFormat; //bpp | ||||||
|  |     uint16_t usRotate; //Rotate mode | ||||||
|  |     uint32_t ulStartFBAddr; //Start address of source Frame buffer | ||||||
|  |     uint32_t ulImgBufBaseAddr;//Base address of target image buffer | ||||||
|  |      | ||||||
|  | }IT8951LdImgInfo; | ||||||
|  |  | ||||||
|  | //structure prototype 2 | ||||||
|  | typedef struct IT8951AreaImgInfo | ||||||
|  | { | ||||||
|  |     uint16_t usX; | ||||||
|  |     uint16_t usY; | ||||||
|  |     uint16_t usWidth; | ||||||
|  |     uint16_t usHeight; | ||||||
|  | }IT8951AreaImgInfo; | ||||||
|  |  | ||||||
|  | typedef struct | ||||||
|  | { | ||||||
|  |     uint16_t usPanelW; | ||||||
|  |     uint16_t usPanelH; | ||||||
|  |     uint16_t usImgBufAddrL; | ||||||
|  |     uint16_t usImgBufAddrH; | ||||||
|  |     uint16_t usFWVersion[8]; 	//16 Bytes String | ||||||
|  |     uint16_t usLUTVersion[8]; 	//16 Bytes String | ||||||
|  | }IT8951DevInfo; | ||||||
|  |  | ||||||
|  | //Built in I80 Command Code | ||||||
|  | #define IT8951_TCON_SYS_RUN      0x0001 | ||||||
|  | #define IT8951_TCON_STANDBY      0x0002 | ||||||
|  | #define IT8951_TCON_SLEEP        0x0003 | ||||||
|  | #define IT8951_TCON_REG_RD       0x0010 | ||||||
|  | #define IT8951_TCON_REG_WR       0x0011 | ||||||
|  | #define IT8951_TCON_MEM_BST_RD_T 0x0012 | ||||||
|  | #define IT8951_TCON_MEM_BST_RD_S 0x0013 | ||||||
|  | #define IT8951_TCON_MEM_BST_WR   0x0014 | ||||||
|  | #define IT8951_TCON_MEM_BST_END  0x0015 | ||||||
|  | #define IT8951_TCON_LD_IMG       0x0020 | ||||||
|  | #define IT8951_TCON_LD_IMG_AREA  0x0021 | ||||||
|  | #define IT8951_TCON_LD_IMG_END   0x0022 | ||||||
|  |  | ||||||
|  | //I80 User defined command code | ||||||
|  | #define USDEF_I80_CMD_DPY_AREA     0x0034 | ||||||
|  | #define USDEF_I80_CMD_GET_DEV_INFO 0x0302 | ||||||
|  | #define USDEF_I80_CMD_DPY_BUF_AREA 0x0037 | ||||||
|  | //Panel | ||||||
|  | #define IT8951_PANEL_WIDTH   1024 //it Get Device information | ||||||
|  | #define IT8951_PANEL_HEIGHT   758 | ||||||
|  |  | ||||||
|  | //Rotate mode | ||||||
|  | #define IT8951_ROTATE_0     0 | ||||||
|  | #define IT8951_ROTATE_90    1 | ||||||
|  | #define IT8951_ROTATE_180   2 | ||||||
|  | #define IT8951_ROTATE_270   3 | ||||||
|  |  | ||||||
|  | //Pixel mode , BPP - Bit per Pixel | ||||||
|  | #define IT8951_2BPP   0 | ||||||
|  | #define IT8951_3BPP   1 | ||||||
|  | #define IT8951_4BPP   2 | ||||||
|  | #define IT8951_8BPP   3 | ||||||
|  |  | ||||||
|  | //Waveform Mode | ||||||
|  | #define IT8951_MODE_0   0 | ||||||
|  | #define IT8951_MODE_1   1 | ||||||
|  | #define IT8951_MODE_2   2 | ||||||
|  | #define IT8951_MODE_3   3 | ||||||
|  | #define IT8951_MODE_4   4 | ||||||
|  | //Endian Type | ||||||
|  | #define IT8951_LDIMG_L_ENDIAN   0 | ||||||
|  | #define IT8951_LDIMG_B_ENDIAN   1 | ||||||
|  | //Auto LUT | ||||||
|  | #define IT8951_DIS_AUTO_LUT   0 | ||||||
|  | #define IT8951_EN_AUTO_LUT    1 | ||||||
|  | //LUT Engine Status | ||||||
|  | #define IT8951_ALL_LUTE_BUSY 0xFFFF | ||||||
|  |  | ||||||
|  | //----------------------------------------------------------------------- | ||||||
|  | // IT8951 TCon Registers defines | ||||||
|  | //----------------------------------------------------------------------- | ||||||
|  | //Register Base Address | ||||||
|  | #define DISPLAY_REG_BASE 0x1000               //Register RW access for I80 only | ||||||
|  | //Base Address of Basic LUT Registers | ||||||
|  | #define LUT0EWHR  (DISPLAY_REG_BASE + 0x00)   //LUT0 Engine Width Height Reg | ||||||
|  | #define LUT0XYR   (DISPLAY_REG_BASE + 0x40)   //LUT0 XY Reg | ||||||
|  | #define LUT0BADDR (DISPLAY_REG_BASE + 0x80)   //LUT0 Base Address Reg | ||||||
|  | #define LUT0MFN   (DISPLAY_REG_BASE + 0xC0)   //LUT0 Mode and Frame number Reg | ||||||
|  | #define LUT01AF   (DISPLAY_REG_BASE + 0x114)  //LUT0 and LUT1 Active Flag Reg | ||||||
|  | //Update Parameter Setting Register | ||||||
|  | #define UP0SR (DISPLAY_REG_BASE + 0x134)      //Update Parameter0 Setting Reg | ||||||
|  |  | ||||||
|  | #define UP1SR     (DISPLAY_REG_BASE + 0x138)  //Update Parameter1 Setting Reg | ||||||
|  | #define LUT0ABFRV (DISPLAY_REG_BASE + 0x13C)  //LUT0 Alpha blend and Fill rectangle Value | ||||||
|  | #define UPBBADDR  (DISPLAY_REG_BASE + 0x17C)  //Update Buffer Base Address | ||||||
|  | #define LUT0IMXY  (DISPLAY_REG_BASE + 0x180)  //LUT0 Image buffer X/Y offset Reg | ||||||
|  | #define LUTAFSR   (DISPLAY_REG_BASE + 0x224)  //LUT Status Reg (status of All LUT Engines) | ||||||
|  |  | ||||||
|  | #define BGVR      (DISPLAY_REG_BASE + 0x250)  //Bitmap (1bpp) image color table | ||||||
|  | //-------System Registers---------------- | ||||||
|  | #define SYS_REG_BASE 0x0000 | ||||||
|  |  | ||||||
|  | //Address of System Registers | ||||||
|  | #define I80CPCR (SYS_REG_BASE + 0x04) | ||||||
|  | //-------Memory Converter Registers---------------- | ||||||
|  | #define MCSR_BASE_ADDR 0x0200 | ||||||
|  | #define MCSR (MCSR_BASE_ADDR  + 0x0000) | ||||||
|  | #define LISAR (MCSR_BASE_ADDR + 0x0008) | ||||||
|  |  | ||||||
|  | void InterfaceInit(void); | ||||||
|  | //void HostInit(void); | ||||||
|  | uint8_t IT8951_Init(void); | ||||||
|  | void IT8951_Cancel(void); | ||||||
|  | void IT8951DisplayExample(void); | ||||||
|  | void IT8951DisplayExample2(void); | ||||||
|  | void IT8951Display1bppExample2(void); | ||||||
|  | void IT8951DisplayExample3(void); | ||||||
|  | void IT8951_GUI_Example(void); | ||||||
|  | void IT8951_BMP_Example(uint32_t x, uint32_t y,char *path); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //temp | ||||||
|  | uint16_t IT8951ReadReg(uint16_t usRegAddr); | ||||||
|  | void IT8951SetImgBufBaseAddr(uint32_t ulImgBufAddr); | ||||||
|  | void LCDWaitForReady(void); | ||||||
|  | void GetIT8951SystemInfo(void* pBuf); | ||||||
|  | void gpio_i80_16b_cmd_out(uint16_t usCmd); | ||||||
|  | void GPIO_Configuration_Out(void); | ||||||
|  | void GPIO_Configuration_In(void); | ||||||
|  |  | ||||||
|  | void IT8951DisplayClear(void); | ||||||
|  |  | ||||||
|  | //uint16_t IT8951ReadReg(uint16_t usRegAddr); | ||||||
|  | void IT8951WriteReg(uint16_t usRegAddr,uint16_t usValue); | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										9
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | SRCS=IT8951.c miniGUI.c main.c AsciiLib.c bmp.c | ||||||
|  | CC=gcc | ||||||
|  | TARGET=IT8951 | ||||||
|  |  | ||||||
|  | $(TARGET):$(SRCS) | ||||||
|  | 	$(CC) -Wall $(SRCS) -o $(TARGET) -lbcm2835 | ||||||
|  | 	 | ||||||
|  | clean: | ||||||
|  | 	rm -f $(TARGET) | ||||||
							
								
								
									
										7837
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/bmp.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7837
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/bmp.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										40
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/main.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/main.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | #include "IT8951.h" | ||||||
|  |  | ||||||
|  | int main (int argc, char *argv[]) | ||||||
|  | { | ||||||
|  | 	/* | ||||||
|  | 	printf("ReadReg = 0x%x\n",IT8951ReadReg(LISAR)); | ||||||
|  | 	IT8951WriteReg(LISAR,0x1234); | ||||||
|  | 	printf("ReadReg = 0x%x\n",IT8951ReadReg(LISAR)); | ||||||
|  | 	*/ | ||||||
|  |  | ||||||
|  | 	if(IT8951_Init()) | ||||||
|  | 	{ | ||||||
|  | 		printf("IT8951_Init error \n"); | ||||||
|  | 		return 1; | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	//IT8951DisplayExample(); | ||||||
|  | 	//IT8951DisplayExample2(); | ||||||
|  | 	//IT8951DisplayExample3(); | ||||||
|  | 	//printf("IT8951_GUI_Example\n"); | ||||||
|  | 	//IT8951_GUI_Example(); | ||||||
|  |  | ||||||
|  | 	if (argc != 4) | ||||||
|  | 	{ | ||||||
|  | 		printf("Error: argc!=4.\n"); | ||||||
|  | 		exit(1); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	uint32_t x,y; | ||||||
|  | 	sscanf(argv[1],"%d",&x); | ||||||
|  | 	sscanf(argv[2],"%d",&y); | ||||||
|  |  | ||||||
|  | 	IT8951_BMP_Example(x,y,argv[3]); | ||||||
|  |  | ||||||
|  | 	IT8951_Cancel(); | ||||||
|  |  | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										690
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/miniGUI.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										690
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/miniGUI.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,690 @@ | |||||||
|  | #include <string.h> | ||||||
|  | #include "miniGUI.h" | ||||||
|  | #include "AsciiLib.h" | ||||||
|  |  | ||||||
|  | extern IT8951DevInfo gstI80DevInfo; | ||||||
|  | extern uint8_t* gpFrameBuf; //Host Source Frame buffer | ||||||
|  |  | ||||||
|  | void EPD_Clear(uint8_t Color) | ||||||
|  | { | ||||||
|  | 	memset(gpFrameBuf, Color, gstI80DevInfo.usPanelW * gstI80DevInfo.usPanelH); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void EPD_DrawPixel(uint16_t x0, uint16_t y0, uint8_t color) | ||||||
|  | { | ||||||
|  | 	if(x0 < 0 || x0 >= gstI80DevInfo.usPanelW || y0 < 0 || y0 >= gstI80DevInfo.usPanelH) | ||||||
|  | 		return ;	 | ||||||
|  | 	 | ||||||
|  | 	/* | ||||||
|  | 	<09>Դ洦<D4B4><E6B4A6> | ||||||
|  | 	*/ | ||||||
|  | 	gpFrameBuf[y0*gstI80DevInfo.usPanelW + x0] = color; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void EPD_DrawLine(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2,uint8_t color) | ||||||
|  | { | ||||||
|  | 	  uint32_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0,  | ||||||
|  | 	  yinc1 = 0, yinc2 = 0, den = 0, num = 0, num_add = 0, num_pixels = 0,  | ||||||
|  | 	  curpixel = 0; | ||||||
|  | 	   | ||||||
|  | 	  deltax = ABS(x2 - x1);        /* The difference between the x's */ | ||||||
|  | 	  deltay = ABS(y2 - y1);        /* The difference between the y's */ | ||||||
|  | 	  x = x1;                       /* Start x off at the first pixel */ | ||||||
|  | 	  y = y1;                       /* Start y off at the first pixel */ | ||||||
|  | 	   | ||||||
|  | 	  if (x2 >= x1)                 /* The x-values are increasing */ | ||||||
|  | 	  { | ||||||
|  | 		    xinc1 = 1; | ||||||
|  | 		    xinc2 = 1; | ||||||
|  | 	  } | ||||||
|  | 	  else                          /* The x-values are decreasing */ | ||||||
|  | 	  { | ||||||
|  | 		    xinc1 = -1; | ||||||
|  | 		    xinc2 = -1; | ||||||
|  | 	  } | ||||||
|  | 	   | ||||||
|  | 	  if (y2 >= y1)                 /* The y-values are increasing */ | ||||||
|  | 	  { | ||||||
|  | 		    yinc1 = 1; | ||||||
|  | 		    yinc2 = 1; | ||||||
|  | 	  } | ||||||
|  | 	  else                          /* The y-values are decreasing */ | ||||||
|  | 	  { | ||||||
|  | 		    yinc1 = -1; | ||||||
|  | 		    yinc2 = -1; | ||||||
|  | 	  } | ||||||
|  | 	   | ||||||
|  | 	  if (deltax >= deltay)         /* There is at least one x-value for every y-value */ | ||||||
|  | 	  { | ||||||
|  | 		    xinc1 = 0;              /* Don't change the x when numerator >= denominator */ | ||||||
|  | 		    yinc2 = 0;              /* Don't change the y for every iteration */ | ||||||
|  | 		    den = deltax; | ||||||
|  | 		    num = deltax / 2; | ||||||
|  | 		    num_add = deltay; | ||||||
|  | 		    num_pixels = deltax;    /* There are more x-values than y-values */ | ||||||
|  | 	  } | ||||||
|  | 	  else                          /* There is at least one y-value for every x-value */ | ||||||
|  | 	  { | ||||||
|  | 		    xinc2 = 0;              /* Don't change the x for every iteration */ | ||||||
|  | 		    yinc1 = 0;              /* Don't change the y when numerator >= denominator */ | ||||||
|  | 		    den = deltay; | ||||||
|  | 		    num = deltay / 2; | ||||||
|  | 		    num_add = deltax; | ||||||
|  | 		    num_pixels = deltay;    /* There are more y-values than x-values */ | ||||||
|  | 	  } | ||||||
|  | 	   | ||||||
|  | 	  for (curpixel = 0; curpixel <= num_pixels; curpixel++) | ||||||
|  | 	  { | ||||||
|  | 		    EPD_DrawPixel(x, y, color);          /* Draw the current pixel */ | ||||||
|  | 		    num += num_add;                      /* Increase the numerator by the top of the fraction */ | ||||||
|  | 		    if (num >= den)                      /* Check if numerator >= denominator */ | ||||||
|  | 		    { | ||||||
|  | 			      num -= den;                    /* Calculate the new numerator value */ | ||||||
|  | 			      x += xinc1;                    /* Change the x as appropriate */ | ||||||
|  | 			      y += yinc1;                    /* Change the y as appropriate */ | ||||||
|  | 		    } | ||||||
|  | 		    x += xinc2;                          /* Change the x as appropriate */ | ||||||
|  | 		    y += yinc2;                          /* Change the y as appropriate */ | ||||||
|  | 	  } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void EPD_DrawRect(uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height,uint8_t color) | ||||||
|  | { | ||||||
|  | 	EPD_DrawLine(Xpos, Ypos, Xpos+Width, Ypos, color); | ||||||
|  | 	EPD_DrawLine(Xpos, Ypos, Xpos, Ypos+Height, color); | ||||||
|  | 	EPD_DrawLine(Xpos, Ypos+Height, Xpos+Width, Ypos+Height, color); | ||||||
|  | 	EPD_DrawLine(Xpos+Width, Ypos, Xpos+Width, Ypos+Height, color); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void EPD_DrawCircle(uint16_t Xpos,uint16_t Ypos,uint16_t Radius,uint8_t color) | ||||||
|  | { | ||||||
|  | 	  int   decision;    	/* Decision Variable */  | ||||||
|  | 	  uint32_t  current_x;   	/* Current X Value */ | ||||||
|  | 	  uint32_t  current_y;   	/* Current Y Value */ | ||||||
|  | 	   | ||||||
|  | 	  decision = 3 - (Radius << 1); | ||||||
|  | 	  current_x = 0; | ||||||
|  | 	  current_y = Radius; | ||||||
|  | 	   | ||||||
|  | 	  while (current_x <= current_y) | ||||||
|  | 	  { | ||||||
|  | 		    EPD_DrawPixel((Xpos + current_x), (Ypos - current_y), color); | ||||||
|  | 		     | ||||||
|  | 		    EPD_DrawPixel((Xpos - current_x), (Ypos - current_y), color); | ||||||
|  | 		     | ||||||
|  | 		    EPD_DrawPixel((Xpos + current_y), (Ypos - current_x), color); | ||||||
|  | 		     | ||||||
|  | 		    EPD_DrawPixel((Xpos - current_y), (Ypos - current_x), color); | ||||||
|  | 		     | ||||||
|  | 		    EPD_DrawPixel((Xpos + current_x), (Ypos + current_y), color); | ||||||
|  | 		     | ||||||
|  | 		    EPD_DrawPixel((Xpos - current_x), (Ypos + current_y), color); | ||||||
|  | 		     | ||||||
|  | 		    EPD_DrawPixel((Xpos + current_y), (Ypos + current_x), color); | ||||||
|  | 		     | ||||||
|  | 		    EPD_DrawPixel((Xpos - current_y), (Ypos + current_x), color); | ||||||
|  | 		     | ||||||
|  | 		    if (decision < 0) | ||||||
|  | 		    {  | ||||||
|  | 				decision += (current_x << 2) + 6; | ||||||
|  | 		    } | ||||||
|  | 		    else | ||||||
|  | 		    { | ||||||
|  | 			      decision += ((current_x - current_y) << 2) + 10; | ||||||
|  | 			      current_y--; | ||||||
|  | 		    } | ||||||
|  | 		    current_x++; | ||||||
|  | 	  }  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void EPD_DrawPolygon(pPoint Points,uint16_t PointCount,uint8_t color) | ||||||
|  | { | ||||||
|  |   uint16_t x = 0, y = 0; | ||||||
|  |    | ||||||
|  |   if(PointCount < 2) | ||||||
|  |   { | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|  |    | ||||||
|  |   EPD_DrawLine(Points->X, Points->Y, (Points+PointCount-1)->X, (Points+PointCount-1)->Y,color); | ||||||
|  |    | ||||||
|  |   while(--PointCount) | ||||||
|  |   { | ||||||
|  |     x = Points->X; | ||||||
|  |     y = Points->Y; | ||||||
|  |     Points++; | ||||||
|  |     EPD_DrawLine(x, y, Points->X, Points->Y,color); | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void EPD_DrawEllipse(uint16_t Xpos, uint16_t Ypos, uint16_t XRadius, uint16_t YRadius, uint8_t color) | ||||||
|  | { | ||||||
|  |   int32_t x = 0, y = -YRadius, err = 2-2*XRadius, e2; | ||||||
|  |   float k = 0, rad1 = 0, rad2 = 0; | ||||||
|  |    | ||||||
|  |   rad1 = XRadius; | ||||||
|  |   rad2 = YRadius; | ||||||
|  |    | ||||||
|  |   k = (float)(rad2/rad1);   | ||||||
|  |    | ||||||
|  |   do {  | ||||||
|  |     EPD_DrawPixel((Xpos-(uint16_t)(x/k)), (Ypos+y), color); | ||||||
|  |     EPD_DrawPixel((Xpos+(uint16_t)(x/k)), (Ypos+y), color); | ||||||
|  |     EPD_DrawPixel((Xpos+(uint16_t)(x/k)), (Ypos-y), color); | ||||||
|  |     EPD_DrawPixel((Xpos-(uint16_t)(x/k)), (Ypos-y), color);       | ||||||
|  |      | ||||||
|  |     e2 = err; | ||||||
|  |     if (e2 <= x) { | ||||||
|  |       err += ++x*2+1; | ||||||
|  |       if (-y == x && e2 <= y) e2 = 0; | ||||||
|  |     } | ||||||
|  |     if (e2 > y) err += ++y*2+1;      | ||||||
|  |   } | ||||||
|  |   while (y <= 0); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void EPD_FillRect(uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height,uint8_t color) | ||||||
|  | { | ||||||
|  | 	uint16_t i; | ||||||
|  | 	for (i=0;i<Height;i++) | ||||||
|  | 	{ | ||||||
|  | 		EPD_DrawLine(Xpos, Ypos+i,Xpos+Width,Ypos+i,color); | ||||||
|  | 	} | ||||||
|  |    | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void EPD_FillCircle(uint16_t Xpos,uint16_t Ypos,uint16_t Radius,uint8_t color) | ||||||
|  | { | ||||||
|  |   int32_t  decision;     /* Decision Variable */  | ||||||
|  |   uint32_t  current_x;   /* Current X Value */ | ||||||
|  |   uint32_t  current_y;   /* Current Y Value */ | ||||||
|  |    | ||||||
|  |   decision = 3 - (Radius << 1); | ||||||
|  |    | ||||||
|  |   current_x = 0; | ||||||
|  |   current_y = Radius; | ||||||
|  |  | ||||||
|  |   while (current_x <= current_y) | ||||||
|  |   { | ||||||
|  |     if(current_y > 0)  | ||||||
|  |     { | ||||||
|  | 	EPD_DrawLine(Xpos - current_y, Ypos + current_x,Xpos +current_y,Ypos + current_x,color); | ||||||
|  | 	EPD_DrawLine(Xpos - current_y, Ypos - current_x,Xpos + current_y, Ypos - current_x,color); | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     if(current_x > 0)  | ||||||
|  |     { | ||||||
|  | 	EPD_DrawLine(Xpos - current_x, Ypos - current_y,Xpos+current_x,Ypos - current_y,color); | ||||||
|  |  	EPD_DrawLine(Xpos - current_x, Ypos + current_y,Xpos+current_x,Ypos + current_y,color); | ||||||
|  |     } | ||||||
|  |     if (decision < 0) | ||||||
|  |     {  | ||||||
|  |       decision += (current_x << 2) + 6; | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  |       decision += ((current_x - current_y) << 2) + 10; | ||||||
|  |       current_y--; | ||||||
|  |     } | ||||||
|  |     current_x++; | ||||||
|  |   } | ||||||
|  |    | ||||||
|  |  	EPD_DrawCircle(Xpos, Ypos, Radius,color); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void EPD_PutChar(uint16_t Xpos,uint16_t Ypos,uint8_t ASCI,uint8_t charColor,uint8_t bkColor ) | ||||||
|  | { | ||||||
|  | 	uint16_t i, j; | ||||||
|  | 	uint8_t buffer[16], tmp_char; | ||||||
|  | 	GetASCIICode(buffer,ASCI); | ||||||
|  | 	for(i=0; i<16; i++) | ||||||
|  | 	{ | ||||||
|  | 		tmp_char = buffer[i]; | ||||||
|  | 		for(j=0; j<8; j++) | ||||||
|  | 		{ | ||||||
|  | 			if(((tmp_char >> (7-j)) & 0x01) == 0x01) | ||||||
|  | 			{ | ||||||
|  | 				EPD_DrawPixel(Xpos+j, Ypos+i, charColor); | ||||||
|  | 			} | ||||||
|  | 			else | ||||||
|  | 			{ | ||||||
|  | 				EPD_DrawPixel(Xpos+j, Ypos+i, bkColor); | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | void EPD_Text(uint16_t Xpos,uint16_t Ypos,uint8_t *str,uint8_t Color,uint8_t bkColor) | ||||||
|  | { | ||||||
|  | 	uint8_t TempChar; | ||||||
|  | 	do | ||||||
|  | 	{ | ||||||
|  | 		TempChar = *str++;   | ||||||
|  | 		EPD_PutChar(Xpos, Ypos, TempChar, Color, bkColor);     | ||||||
|  | 		if(Xpos < gstI80DevInfo.usPanelW - 8) | ||||||
|  | 		{ | ||||||
|  | 			Xpos += 8; | ||||||
|  | 		}  | ||||||
|  | 		else if (Ypos < gstI80DevInfo.usPanelH - 16) | ||||||
|  | 		{ | ||||||
|  | 			Xpos = 0; | ||||||
|  | 			Ypos += 16; | ||||||
|  | 		}    | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		Xpos = 0; | ||||||
|  | 		Ypos = 0; | ||||||
|  | 	}     | ||||||
|  |     } | ||||||
|  |     while (*str != 0); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | extern uint16_t bmp01[]; | ||||||
|  |  | ||||||
|  | void EPD_DrawBitmap(uint16_t Xpos, uint16_t Ypos,uint16_t *bmp) | ||||||
|  | { | ||||||
|  | 	uint16_t i,j; | ||||||
|  | 	uint16_t R,G,B,temp; | ||||||
|  | 	double Gray; | ||||||
|  |  | ||||||
|  | 	for (j=0;j<412;j++) | ||||||
|  | 	{ | ||||||
|  | 		for (i=0;i<550;i++) | ||||||
|  | 		{ | ||||||
|  | 			temp = bmp[j*550+i]; | ||||||
|  | 			R = (temp >> 11)<<3; | ||||||
|  | 			G = ((temp&0x07E0) >> 5)<<2; | ||||||
|  | 			B = (temp&0x01F)<<3; | ||||||
|  | 			Gray = (R*299 + G*587 + B*114 + 500) / 1000; | ||||||
|  | 			EPD_DrawPixel(i, j,(uint8_t)Gray); | ||||||
|  | 		}	 | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void EPD_DrawMatrix(uint16_t Xpos, uint16_t Ypos,uint16_t Width, uint16_t High,const uint16_t* Matrix) | ||||||
|  | { | ||||||
|  | 	uint16_t i,j,x,y; | ||||||
|  | 	uint16_t R,G,B,temp; | ||||||
|  | 	double Gray; | ||||||
|  | 	 | ||||||
|  | 	for (y=0,j=Ypos;y<High;y++,j++) | ||||||
|  | 	{ | ||||||
|  |  		for (x=0,i=Xpos;x<Width;x++,i++) | ||||||
|  | 		{ | ||||||
|  | 			temp = Matrix[y*550+x]; | ||||||
|  | 			R = (temp >> 11)<<3; | ||||||
|  | 			G = ((temp&0x07E0) >> 5)<<2; | ||||||
|  | 			B = (temp&0x001F) <<3; | ||||||
|  | 			Gray = (R*299 + G*587 + B*114 + 500) / 1000; | ||||||
|  | 			EPD_DrawPixel(i, j, Gray); | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //<2F><>ʾBMPͼƬ<CDBC><C6AC><EFBFBD>ص<EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> | ||||||
|  | struct   fb_var_screeninfo vinfo; 	// <20><>¼<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ĵ<DEB8><C4B5><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
|  | uint32_t fbfd = 0;					// /dev/fb0 <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
|  | uint8_t *fbp = 0;					// <20>ڴ<EFBFBD>ӳ<EFBFBD><D3B3>ָ<EFBFBD><D6B8> | ||||||
|  | uint8_t *bmp_dst_buf = NULL;		// BMP Buffer | ||||||
|  | uint8_t *bmp_src_buf = NULL;		// BMP Buffer | ||||||
|  | uint32_t bmp_width, bmp_height; | ||||||
|  | uint8_t  bmp_BitCount; | ||||||
|  | uint32_t bytesPerLine; | ||||||
|  | uint32_t imageSize; | ||||||
|  | uint32_t skip; | ||||||
|  | PIXEL    palette[256]; | ||||||
|  |  | ||||||
|  | static void Bitmap_format_Matrix(uint8_t *dst,uint8_t *src) | ||||||
|  | { | ||||||
|  | 	uint32_t i,j,k; | ||||||
|  |     uint8_t *psrc = src; | ||||||
|  |     uint8_t *pdst = dst; | ||||||
|  |     uint8_t *p = psrc; | ||||||
|  | 	uint8_t temp; | ||||||
|  | 	uint32_t count; | ||||||
|  | 	 | ||||||
|  | 	//<2F><><EFBFBD><EFBFBD>bmp<6D>洢<EFBFBD>ǴӺ<C7B4><D3BA><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>棬<EFBFBD><E6A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA> | ||||||
|  | 	switch(bmp_BitCount) | ||||||
|  | 	{ | ||||||
|  | 		case 1: | ||||||
|  | 			pdst += (bmp_width * bmp_height); | ||||||
|  | 			 | ||||||
|  | 			for(i=0;i<bmp_height;i++) | ||||||
|  | 			{ | ||||||
|  | 				pdst -= bmp_width; | ||||||
|  | 				count = 0; | ||||||
|  | 				for (j=0;j<(bmp_width+7)/8;j++) | ||||||
|  | 				{ | ||||||
|  | 					temp = p[j]; | ||||||
|  | 					 | ||||||
|  | 					for (k=0;k<8;k++) | ||||||
|  | 					{ | ||||||
|  | 						pdst[0]= ((temp & (0x80>>k)) >> (7-k)); | ||||||
|  | 						count++; | ||||||
|  | 						pdst++; | ||||||
|  | 						if (count == bmp_width) | ||||||
|  | 						{ | ||||||
|  | 							break; | ||||||
|  | 						} | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 				pdst -= bmp_width; | ||||||
|  | 				p += bytesPerLine; | ||||||
|  | 			} | ||||||
|  | 		break; | ||||||
|  | 		case 4: | ||||||
|  | 			pdst += (bmp_width * bmp_height); | ||||||
|  |  | ||||||
|  | 			for(i=0;i<bmp_height;i++) | ||||||
|  | 			{ | ||||||
|  | 				pdst -= bmp_width; | ||||||
|  | 				count = 0; | ||||||
|  | 				for (j=0;j<(bmp_width+1)/2;j++) | ||||||
|  | 				{ | ||||||
|  | 					temp = p[j]; | ||||||
|  | 					pdst[0]= ((temp & 0xf0) >> 4); | ||||||
|  | 					count++; | ||||||
|  | 					pdst++; | ||||||
|  | 					if (count == bmp_width) | ||||||
|  | 					{ | ||||||
|  | 						break; | ||||||
|  | 					} | ||||||
|  |  | ||||||
|  | 					pdst[0] = temp & 0x0f; | ||||||
|  | 					count++; | ||||||
|  | 					pdst++; | ||||||
|  | 					if (count == bmp_width) | ||||||
|  | 					{ | ||||||
|  | 						break; | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 				pdst -= bmp_width; | ||||||
|  | 				p += bytesPerLine; | ||||||
|  | 			} | ||||||
|  | 		break; | ||||||
|  | 		case 8: | ||||||
|  | 			pdst += (bmp_width*bmp_height); | ||||||
|  | 			for(i=0;i<bmp_height;i++) | ||||||
|  | 			{ | ||||||
|  | 				p = psrc+(i+1)*bytesPerLine; | ||||||
|  | 				p -= skip; | ||||||
|  | 				for(j=0;j<bmp_width;j++) | ||||||
|  | 				{ | ||||||
|  | 					pdst -= 1; | ||||||
|  | 					p -= 1; | ||||||
|  | 					pdst[0] = p[0]; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		break; | ||||||
|  | 		case 16: | ||||||
|  | 			pdst += (bmp_width*bmp_height*2); | ||||||
|  | 			for(i=0;i<bmp_height;i++) | ||||||
|  | 			{ | ||||||
|  | 				p = psrc+(i+1)*bytesPerLine; | ||||||
|  | 				p -= skip; | ||||||
|  | 				for(j=0;j<bmp_width;j++) | ||||||
|  | 				{ | ||||||
|  | 					pdst -= 2; | ||||||
|  | 					p -= 2; | ||||||
|  | 					pdst[0] = p[1]; | ||||||
|  | 					pdst[1] = p[0]; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		break; | ||||||
|  | 		case 24: | ||||||
|  | 			pdst += (bmp_width*bmp_height*3); | ||||||
|  | 			for(i=0;i<bmp_height;i++) | ||||||
|  | 			{ | ||||||
|  | 				p = psrc+(i+1)*bytesPerLine; | ||||||
|  | 				p -= skip; | ||||||
|  | 				for(j=0;j<bmp_width;j++) | ||||||
|  | 				{ | ||||||
|  | 					pdst -= 3; | ||||||
|  | 					p -= 3; | ||||||
|  | 					pdst[0] = p[2]; | ||||||
|  | 					pdst[1] = p[1]; | ||||||
|  | 					pdst[2] = p[0]; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		break; | ||||||
|  | 		case 32: | ||||||
|  | 			pdst += (bmp_width*bmp_height*4); | ||||||
|  | 			for(i=0;i<bmp_height;i++) | ||||||
|  | 			{ | ||||||
|  | 				p = psrc+(i+1)*bmp_width*4; | ||||||
|  | 				for(j=0;j<bmp_width;j++) | ||||||
|  | 				{ | ||||||
|  | 					pdst -= 4; | ||||||
|  | 					p -= 4; | ||||||
|  | 					pdst[0] = p[2]; | ||||||
|  | 					pdst[1] = p[1]; | ||||||
|  | 					pdst[2] = p[0]; | ||||||
|  | 					pdst[3] = p[3]; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		break; | ||||||
|  | 		 | ||||||
|  | 		default: | ||||||
|  | 		break; | ||||||
|  | 	}	 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | static void DrawMatrix(uint16_t Xpos, uint16_t Ypos,uint16_t Width, uint16_t High,const uint8_t* Matrix) | ||||||
|  | { | ||||||
|  | 	uint16_t i,j,x,y; | ||||||
|  | 	uint8_t R,G,B; | ||||||
|  | 	uint8_t temp1,temp2; | ||||||
|  | 	double Gray; | ||||||
|  | 	 | ||||||
|  | 	for (y=0,j=Ypos;y<High;y++,j++) | ||||||
|  | 	{ | ||||||
|  |  		for (x=0,i=Xpos;x<Width;x++,i++) | ||||||
|  | 		{ | ||||||
|  | 			switch(bmp_BitCount) | ||||||
|  | 			{ | ||||||
|  | 				case 1: | ||||||
|  | 				case 4: | ||||||
|  | 				case 8: | ||||||
|  | 					R = palette[Matrix[(y*Width+x)]].red; | ||||||
|  | 					G = palette[Matrix[(y*Width+x)]].green; | ||||||
|  | 					B = palette[Matrix[(y*Width+x)]].blue; | ||||||
|  | 				break; | ||||||
|  | 				 | ||||||
|  | 				case 16: | ||||||
|  | 					temp1 = Matrix[(y*Width+x)*2]; | ||||||
|  | 					temp2 = Matrix[(y*Width+x)*2+1]; | ||||||
|  | 					R = (temp1 & 0x7c)<<1; | ||||||
|  | 					G = (((temp1 & 0x03) << 3 ) | ((temp2&0xe0) >> 5))<<3; | ||||||
|  | 					B = (temp2 & 0x1f)<<3; | ||||||
|  | 				break; | ||||||
|  | 				 | ||||||
|  | 				case 24: | ||||||
|  | 					R = Matrix[(y*Width+x)*3]; | ||||||
|  | 					G = Matrix[(y*Width+x)*3+1]; | ||||||
|  | 					B = Matrix[(y*Width+x)*3+2]; | ||||||
|  | 				break; | ||||||
|  | 				 | ||||||
|  | 				case 32: | ||||||
|  | 					R = Matrix[(y*Width+x)*4]; | ||||||
|  | 					G = Matrix[(y*Width+x)*4+1]; | ||||||
|  | 					B = Matrix[(y*Width+x)*4+2]; | ||||||
|  | 				break; | ||||||
|  | 				 | ||||||
|  | 				default: | ||||||
|  | 				break; | ||||||
|  | 			} | ||||||
|  | 		 | ||||||
|  | 			Gray = (R*299 + G*587 + B*114 + 500) / 1000; | ||||||
|  | 			EPD_DrawPixel(i, j, Gray);	 | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | uint8_t Show_bmp(uint32_t x, uint32_t y,char *path) | ||||||
|  | { | ||||||
|  | 	FILE *fp;//bmp<6D>ļ<EFBFBD>ָ<EFBFBD><D6B8> | ||||||
|  | 	BITMAPFILEHEADER FileHead; | ||||||
|  | 	BITMAPINFOHEADER InfoHead; | ||||||
|  | 	uint32_t total_length; | ||||||
|  | 	uint8_t *buf = NULL; | ||||||
|  | 	uint32_t ret = -1; | ||||||
|  | 	  | ||||||
|  | 	fp = fopen(path,"rb"); | ||||||
|  | 	if (fp == NULL) | ||||||
|  | 	{ | ||||||
|  | 		return(-1); | ||||||
|  | 	} | ||||||
|  |   | ||||||
|  | 	ret = fread(&FileHead, sizeof(BITMAPFILEHEADER),1, fp); | ||||||
|  | 	if (ret != 1) | ||||||
|  | 	{ | ||||||
|  | 		printf("Read header error!\n"); | ||||||
|  | 		fclose(fp); | ||||||
|  | 		return(-2); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>bmpͼ<70><CDBC> | ||||||
|  | 	if (FileHead.cfType != 0x4D42)//<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ͣ<EFBFBD>"BM"(0x4D42) | ||||||
|  | 	{ | ||||||
|  | 		printf("It's not a BMP file\n"); | ||||||
|  | 		fclose(fp); | ||||||
|  | 		return(-3); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	printf("\n*****************************************\n"); | ||||||
|  | 	printf("BMP_cfSize:%d \n", FileHead.cfSize); | ||||||
|  |  	printf("BMP_cfoffBits:%d \n", FileHead.cfoffBits); | ||||||
|  | 	 | ||||||
|  | 	ret = fread((char *)&InfoHead, sizeof(BITMAPINFOHEADER),1, fp); | ||||||
|  | 	if (ret != 1) | ||||||
|  | 	{ | ||||||
|  | 		printf("Read infoheader error!\n"); | ||||||
|  | 		fclose(fp); | ||||||
|  | 		return(-4); | ||||||
|  | 	} | ||||||
|  | 	 | ||||||
|  | 	printf("BMP_ciSize:%d \n", InfoHead.ciSize); | ||||||
|  |  	printf("BMP_ciWidth:%d \n", InfoHead.ciWidth); | ||||||
|  | 	printf("BMP_ciHeight:%d \n", InfoHead.ciHeight); | ||||||
|  | 	printf("BMP_ciPlanes:%x \n", InfoHead.ciPlanes); | ||||||
|  | 	printf("BMP_ciBitCount:%x \n", InfoHead.ciBitCount); | ||||||
|  | 	printf("BMP_ciCompress:%x \n", InfoHead.ciCompress); | ||||||
|  | 	printf("BMP_ciSizeImage:%x \n", InfoHead.ciSizeImage); | ||||||
|  | 	printf("BMP_ciXPelsPerMeter:%x \n", InfoHead.ciXPelsPerMeter); | ||||||
|  | 	printf("BMP_ciYPelsPerMeter:%x \n", InfoHead.ciYPelsPerMeter); | ||||||
|  | 	printf("BMP_ciClrUsed:%x \n", InfoHead.ciClrUsed); | ||||||
|  | 	printf("BMP_ciClrImportant:%x \n", InfoHead.ciClrImportant); | ||||||
|  |  	printf("*****************************************\n\n"); | ||||||
|  | 	 | ||||||
|  | 	total_length = FileHead.cfSize-FileHead.cfoffBits; | ||||||
|  | 	bytesPerLine=((InfoHead.ciWidth*InfoHead.ciBitCount+31)>>5)<<2; | ||||||
|  | 	imageSize=bytesPerLine*InfoHead.ciHeight; | ||||||
|  | 	skip=(4-((InfoHead.ciWidth*InfoHead.ciBitCount)>>3))&3; | ||||||
|  | 	 | ||||||
|  | 	printf("total_length:%d,%d\n", InfoHead.ciSizeImage,FileHead.cfSize-FileHead.cfoffBits); | ||||||
|  | 	printf("bytesPerLine = %d\n", bytesPerLine); | ||||||
|  | 	printf("imageSize = %d\n", imageSize); | ||||||
|  | 	printf("skip = %d\n", skip); | ||||||
|  | 	 | ||||||
|  |     bmp_width = InfoHead.ciWidth; | ||||||
|  |     bmp_height = InfoHead.ciHeight; | ||||||
|  | 	bmp_BitCount = InfoHead.ciBitCount; | ||||||
|  | 	 | ||||||
|  |     bmp_src_buf = (uint8_t*)calloc(1,total_length); | ||||||
|  |     if(bmp_src_buf == NULL){ | ||||||
|  |         printf("Load > malloc bmp out of memory!\n"); | ||||||
|  |         return -5; | ||||||
|  |     } | ||||||
|  | 	 | ||||||
|  | 	bmp_dst_buf = (uint8_t*)calloc(1,total_length); | ||||||
|  |     if(bmp_dst_buf == NULL){ | ||||||
|  |         printf("Load > malloc bmp out of memory!\n"); | ||||||
|  |         return -5; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | 	 //<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
|  |     fseek(fp, FileHead.cfoffBits, SEEK_SET); | ||||||
|  | 	 | ||||||
|  | 	//ÿ<><C3BF><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD> | ||||||
|  |     buf = bmp_src_buf; | ||||||
|  |     while ((ret = fread(buf,1,total_length,fp)) >= 0)  | ||||||
|  | 	{ | ||||||
|  |         if (ret == 0)  | ||||||
|  | 		{ | ||||||
|  |             usleep(100); | ||||||
|  |             continue; | ||||||
|  |         } | ||||||
|  | 		buf = ((uint8_t*)buf) + ret; | ||||||
|  |         total_length = total_length - ret; | ||||||
|  |         if(total_length == 0) | ||||||
|  |             break; | ||||||
|  |     } | ||||||
|  | 	 | ||||||
|  | 	//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | ||||||
|  | 	switch(bmp_BitCount) | ||||||
|  | 	{	 | ||||||
|  | 		case 1: | ||||||
|  | 			fseek(fp, 54, SEEK_SET); | ||||||
|  | 			ret = fread(palette,1,4*2,fp); | ||||||
|  | 			if (ret != 8)  | ||||||
|  | 			{ | ||||||
|  | 				printf("Error: fread != 8\n"); | ||||||
|  | 				return -5; | ||||||
|  | 			} | ||||||
|  | 		 | ||||||
|  | 			bmp_dst_buf = (uint8_t*)calloc(1,InfoHead.ciWidth * InfoHead.ciHeight); | ||||||
|  | 			if(bmp_dst_buf == NULL) | ||||||
|  | 			{ | ||||||
|  | 				printf("Load > malloc bmp out of memory!\n"); | ||||||
|  | 				return -5; | ||||||
|  | 			} | ||||||
|  | 		break; | ||||||
|  | 		 | ||||||
|  | 		case 4: | ||||||
|  | 			fseek(fp, 54, SEEK_SET); | ||||||
|  | 			ret = fread(palette,1,4*16,fp); | ||||||
|  | 			if (ret != 64)  | ||||||
|  | 			{ | ||||||
|  | 				printf("Error: fread != 64\n"); | ||||||
|  | 				return -5; | ||||||
|  | 			} | ||||||
|  | 		 | ||||||
|  | 			bmp_dst_buf = (uint8_t*)calloc(1,InfoHead.ciWidth * InfoHead.ciHeight); | ||||||
|  | 			if(bmp_dst_buf == NULL) | ||||||
|  | 			{ | ||||||
|  | 				printf("Load > malloc bmp out of memory!\n"); | ||||||
|  | 				return -5; | ||||||
|  | 			} | ||||||
|  | 		break; | ||||||
|  | 		 | ||||||
|  | 		case 8: | ||||||
|  | 			fseek(fp, 54, SEEK_SET); | ||||||
|  |  | ||||||
|  | 			ret = fread(palette,1,4*256,fp); | ||||||
|  |  | ||||||
|  | 			if (ret != 1024)  | ||||||
|  | 			{ | ||||||
|  | 				printf("Error: fread != 1024\n"); | ||||||
|  | 				return -5; | ||||||
|  | 			} | ||||||
|  | 		break; | ||||||
|  | 		 | ||||||
|  | 		default: | ||||||
|  | 		break; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	Bitmap_format_Matrix(bmp_dst_buf,bmp_src_buf); | ||||||
|  | 	DrawMatrix(x, y,InfoHead.ciWidth, InfoHead.ciHeight, bmp_dst_buf); | ||||||
|  |  | ||||||
|  | 	fclose(fp); | ||||||
|  | 	return(0); | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										73
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/miniGUI.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								inkycal/display/drivers/9_in_7_drivers/IT8951/miniGUI.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,73 @@ | |||||||
|  | #ifndef _miniGUI_H_ | ||||||
|  | #define _miniGUI_H_ | ||||||
|  |  | ||||||
|  | #include <fcntl.h> | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdint.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <unistd.h> | ||||||
|  | #include <linux/fb.h> | ||||||
|  | #include <sys/mman.h> | ||||||
|  | #include <sys/ioctl.h> | ||||||
|  | #include "IT8951.h"  | ||||||
|  |  | ||||||
|  | typedef struct  | ||||||
|  | { | ||||||
|  |   uint16_t X; | ||||||
|  |   uint16_t Y; | ||||||
|  | }Point, *pPoint;  | ||||||
|  |  | ||||||
|  | //14byte<74>ļ<EFBFBD>ͷ | ||||||
|  | typedef struct | ||||||
|  | { | ||||||
|  | 	uint16_t cfType;//<2F>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ͣ<EFBFBD>"BM"(0x4D42) | ||||||
|  | 	uint32_t cfSize;//<2F>ļ<EFBFBD><C4BC><EFBFBD>С<EFBFBD><D0A1><EFBFBD>ֽڣ<D6BD> | ||||||
|  | 	uint32_t cfReserved;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ0 | ||||||
|  | 	uint32_t cfoffBits;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ͷ<EFBFBD><CDB7>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD> | ||||||
|  | }__attribute__((packed)) BITMAPFILEHEADER; | ||||||
|  | //__attribute__((packed))<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><C7B8>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>ṹ<EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD> | ||||||
|  |   | ||||||
|  | //40byte<74><65>Ϣͷ | ||||||
|  | typedef struct | ||||||
|  | { | ||||||
|  | 	uint32_t ciSize;//40 | ||||||
|  | 	uint32_t ciWidth;//<2F><><EFBFBD><EFBFBD> | ||||||
|  | 	uint32_t ciHeight;//<2F>߶<EFBFBD> | ||||||
|  | 	uint16_t ciPlanes;//Ŀ<><C4BF><EFBFBD>豸<EFBFBD><E8B1B8>λƽ<CEBB><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ1 | ||||||
|  | 	uint16_t ciBitCount;//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>λ<EFBFBD><CEBB> | ||||||
|  | 	uint32_t ciCompress;//ѹ<><D1B9>˵<EFBFBD><CBB5> | ||||||
|  | 	uint32_t ciSizeImage;//<2F><><EFBFBD>ֽڱ<D6BD>ʾ<EFBFBD><CABE>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD>ı<EFBFBD><C4B1><EFBFBD> | ||||||
|  | 	uint32_t ciXPelsPerMeter;//Ŀ<><C4BF><EFBFBD>豸<EFBFBD><E8B1B8>ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><> | ||||||
|  | 	uint32_t ciYPelsPerMeter;//Ŀ<><C4BF><EFBFBD>豸<EFBFBD>Ĵ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><> | ||||||
|  | 	uint32_t ciClrUsed;//λͼʹ<CDBC>õ<EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB> | ||||||
|  | 	uint32_t ciClrImportant;//ָ<><D6B8><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>0ʱ<30><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ҫ | ||||||
|  | }__attribute__((packed)) BITMAPINFOHEADER; | ||||||
|  |  | ||||||
|  | typedef struct | ||||||
|  | { | ||||||
|  | 	uint8_t blue; | ||||||
|  | 	uint8_t green; | ||||||
|  | 	uint8_t red; | ||||||
|  | 	uint8_t reserved; | ||||||
|  | }__attribute__((packed)) PIXEL;//<2F><>ɫģʽRGB | ||||||
|  |  | ||||||
|  | #define ABS(X)    ((X) > 0 ? (X) : -(X))      | ||||||
|  |  | ||||||
|  | void EPD_Clear(uint8_t Color); | ||||||
|  | void EPD_DrawPixel(uint16_t x0,uint16_t y0,uint8_t color); | ||||||
|  | void EPD_DrawLine(uint16_t x1,uint16_t y1,uint16_t x2,uint16_t y2,uint8_t color); | ||||||
|  | void EPD_DrawRect(uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height,uint8_t color); | ||||||
|  | void EPD_DrawCircle(uint16_t Xpos,uint16_t Ypos,uint16_t Radius,uint8_t color); | ||||||
|  | void EPD_DrawPolygon(pPoint Points,uint16_t PointCount,uint8_t color); | ||||||
|  | void EPD_DrawEllipse(uint16_t Xpos,uint16_t Ypos,uint16_t XRadius,uint16_t YRadius,uint8_t color); | ||||||
|  | void EPD_FillRect(uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height,uint8_t color); | ||||||
|  | void EPD_FillCircle(uint16_t Xpos,uint16_t Ypos,uint16_t Radius,uint8_t color); | ||||||
|  | void EPD_PutChar(uint16_t Xpos,uint16_t Ypos,uint8_t ASCI,uint8_t charColor,uint8_t bkColor); | ||||||
|  | void EPD_Text(uint16_t Xpos,uint16_t Ypos,uint8_t *str,uint8_t Color,uint8_t bkColor); | ||||||
|  | void EPD_DrawBitmap(uint16_t Xpos, uint16_t Ypos,uint16_t *bmp); | ||||||
|  | void EPD_DrawMatrix(uint16_t Xpos, uint16_t Ypos,uint16_t Width, uint16_t High,const uint16_t* Matrix); | ||||||
|  | uint8_t Show_bmp(uint32_t x, uint32_t y,char *path); | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #endif | ||||||
							
								
								
									
										339
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/COPYING
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										339
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/COPYING
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,339 @@ | |||||||
|  |                     GNU GENERAL PUBLIC LICENSE | ||||||
|  |                        Version 2, June 1991 | ||||||
|  |  | ||||||
|  |  Copyright (C) 1989, 1991 Free Software Foundation, Inc., | ||||||
|  |  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||||
|  |  Everyone is permitted to copy and distribute verbatim copies | ||||||
|  |  of this license document, but changing it is not allowed. | ||||||
|  |  | ||||||
|  |                             Preamble | ||||||
|  |  | ||||||
|  |   The licenses for most software are designed to take away your | ||||||
|  | freedom to share and change it.  By contrast, the GNU General Public | ||||||
|  | License is intended to guarantee your freedom to share and change free | ||||||
|  | software--to make sure the software is free for all its users.  This | ||||||
|  | General Public License applies to most of the Free Software | ||||||
|  | Foundation's software and to any other program whose authors commit to | ||||||
|  | using it.  (Some other Free Software Foundation software is covered by | ||||||
|  | the GNU Lesser General Public License instead.)  You can apply it to | ||||||
|  | your programs, too. | ||||||
|  |  | ||||||
|  |   When we speak of free software, we are referring to freedom, not | ||||||
|  | price.  Our General Public Licenses are designed to make sure that you | ||||||
|  | have the freedom to distribute copies of free software (and charge for | ||||||
|  | this service if you wish), that you receive source code or can get it | ||||||
|  | if you want it, that you can change the software or use pieces of it | ||||||
|  | in new free programs; and that you know you can do these things. | ||||||
|  |  | ||||||
|  |   To protect your rights, we need to make restrictions that forbid | ||||||
|  | anyone to deny you these rights or to ask you to surrender the rights. | ||||||
|  | These restrictions translate to certain responsibilities for you if you | ||||||
|  | distribute copies of the software, or if you modify it. | ||||||
|  |  | ||||||
|  |   For example, if you distribute copies of such a program, whether | ||||||
|  | gratis or for a fee, you must give the recipients all the rights that | ||||||
|  | you have.  You must make sure that they, too, receive or can get the | ||||||
|  | source code.  And you must show them these terms so they know their | ||||||
|  | rights. | ||||||
|  |  | ||||||
|  |   We protect your rights with two steps: (1) copyright the software, and | ||||||
|  | (2) offer you this license which gives you legal permission to copy, | ||||||
|  | distribute and/or modify the software. | ||||||
|  |  | ||||||
|  |   Also, for each author's protection and ours, we want to make certain | ||||||
|  | that everyone understands that there is no warranty for this free | ||||||
|  | software.  If the software is modified by someone else and passed on, we | ||||||
|  | want its recipients to know that what they have is not the original, so | ||||||
|  | that any problems introduced by others will not reflect on the original | ||||||
|  | authors' reputations. | ||||||
|  |  | ||||||
|  |   Finally, any free program is threatened constantly by software | ||||||
|  | patents.  We wish to avoid the danger that redistributors of a free | ||||||
|  | program will individually obtain patent licenses, in effect making the | ||||||
|  | program proprietary.  To prevent this, we have made it clear that any | ||||||
|  | patent must be licensed for everyone's free use or not licensed at all. | ||||||
|  |  | ||||||
|  |   The precise terms and conditions for copying, distribution and | ||||||
|  | modification follow. | ||||||
|  |  | ||||||
|  |                     GNU GENERAL PUBLIC LICENSE | ||||||
|  |    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||||||
|  |  | ||||||
|  |   0. This License applies to any program or other work which contains | ||||||
|  | a notice placed by the copyright holder saying it may be distributed | ||||||
|  | under the terms of this General Public License.  The "Program", below, | ||||||
|  | refers to any such program or work, and a "work based on the Program" | ||||||
|  | means either the Program or any derivative work under copyright law: | ||||||
|  | that is to say, a work containing the Program or a portion of it, | ||||||
|  | either verbatim or with modifications and/or translated into another | ||||||
|  | language.  (Hereinafter, translation is included without limitation in | ||||||
|  | the term "modification".)  Each licensee is addressed as "you". | ||||||
|  |  | ||||||
|  | Activities other than copying, distribution and modification are not | ||||||
|  | covered by this License; they are outside its scope.  The act of | ||||||
|  | running the Program is not restricted, and the output from the Program | ||||||
|  | is covered only if its contents constitute a work based on the | ||||||
|  | Program (independent of having been made by running the Program). | ||||||
|  | Whether that is true depends on what the Program does. | ||||||
|  |  | ||||||
|  |   1. You may copy and distribute verbatim copies of the Program's | ||||||
|  | source code as you receive it, in any medium, provided that you | ||||||
|  | conspicuously and appropriately publish on each copy an appropriate | ||||||
|  | copyright notice and disclaimer of warranty; keep intact all the | ||||||
|  | notices that refer to this License and to the absence of any warranty; | ||||||
|  | and give any other recipients of the Program a copy of this License | ||||||
|  | along with the Program. | ||||||
|  |  | ||||||
|  | You may charge a fee for the physical act of transferring a copy, and | ||||||
|  | you may at your option offer warranty protection in exchange for a fee. | ||||||
|  |  | ||||||
|  |   2. You may modify your copy or copies of the Program or any portion | ||||||
|  | of it, thus forming a work based on the Program, and copy and | ||||||
|  | distribute such modifications or work under the terms of Section 1 | ||||||
|  | above, provided that you also meet all of these conditions: | ||||||
|  |  | ||||||
|  |     a) You must cause the modified files to carry prominent notices | ||||||
|  |     stating that you changed the files and the date of any change. | ||||||
|  |  | ||||||
|  |     b) You must cause any work that you distribute or publish, that in | ||||||
|  |     whole or in part contains or is derived from the Program or any | ||||||
|  |     part thereof, to be licensed as a whole at no charge to all third | ||||||
|  |     parties under the terms of this License. | ||||||
|  |  | ||||||
|  |     c) If the modified program normally reads commands interactively | ||||||
|  |     when run, you must cause it, when started running for such | ||||||
|  |     interactive use in the most ordinary way, to print or display an | ||||||
|  |     announcement including an appropriate copyright notice and a | ||||||
|  |     notice that there is no warranty (or else, saying that you provide | ||||||
|  |     a warranty) and that users may redistribute the program under | ||||||
|  |     these conditions, and telling the user how to view a copy of this | ||||||
|  |     License.  (Exception: if the Program itself is interactive but | ||||||
|  |     does not normally print such an announcement, your work based on | ||||||
|  |     the Program is not required to print an announcement.) | ||||||
|  |  | ||||||
|  | These requirements apply to the modified work as a whole.  If | ||||||
|  | identifiable sections of that work are not derived from the Program, | ||||||
|  | and can be reasonably considered independent and separate works in | ||||||
|  | themselves, then this License, and its terms, do not apply to those | ||||||
|  | sections when you distribute them as separate works.  But when you | ||||||
|  | distribute the same sections as part of a whole which is a work based | ||||||
|  | on the Program, the distribution of the whole must be on the terms of | ||||||
|  | this License, whose permissions for other licensees extend to the | ||||||
|  | entire whole, and thus to each and every part regardless of who wrote it. | ||||||
|  |  | ||||||
|  | Thus, it is not the intent of this section to claim rights or contest | ||||||
|  | your rights to work written entirely by you; rather, the intent is to | ||||||
|  | exercise the right to control the distribution of derivative or | ||||||
|  | collective works based on the Program. | ||||||
|  |  | ||||||
|  | In addition, mere aggregation of another work not based on the Program | ||||||
|  | with the Program (or with a work based on the Program) on a volume of | ||||||
|  | a storage or distribution medium does not bring the other work under | ||||||
|  | the scope of this License. | ||||||
|  |  | ||||||
|  |   3. You may copy and distribute the Program (or a work based on it, | ||||||
|  | under Section 2) in object code or executable form under the terms of | ||||||
|  | Sections 1 and 2 above provided that you also do one of the following: | ||||||
|  |  | ||||||
|  |     a) Accompany it with the complete corresponding machine-readable | ||||||
|  |     source code, which must be distributed under the terms of Sections | ||||||
|  |     1 and 2 above on a medium customarily used for software interchange; or, | ||||||
|  |  | ||||||
|  |     b) Accompany it with a written offer, valid for at least three | ||||||
|  |     years, to give any third party, for a charge no more than your | ||||||
|  |     cost of physically performing source distribution, a complete | ||||||
|  |     machine-readable copy of the corresponding source code, to be | ||||||
|  |     distributed under the terms of Sections 1 and 2 above on a medium | ||||||
|  |     customarily used for software interchange; or, | ||||||
|  |  | ||||||
|  |     c) Accompany it with the information you received as to the offer | ||||||
|  |     to distribute corresponding source code.  (This alternative is | ||||||
|  |     allowed only for noncommercial distribution and only if you | ||||||
|  |     received the program in object code or executable form with such | ||||||
|  |     an offer, in accord with Subsection b above.) | ||||||
|  |  | ||||||
|  | The source code for a work means the preferred form of the work for | ||||||
|  | making modifications to it.  For an executable work, complete source | ||||||
|  | code means all the source code for all modules it contains, plus any | ||||||
|  | associated interface definition files, plus the scripts used to | ||||||
|  | control compilation and installation of the executable.  However, as a | ||||||
|  | special exception, the source code distributed need not include | ||||||
|  | anything that is normally distributed (in either source or binary | ||||||
|  | form) with the major components (compiler, kernel, and so on) of the | ||||||
|  | operating system on which the executable runs, unless that component | ||||||
|  | itself accompanies the executable. | ||||||
|  |  | ||||||
|  | If distribution of executable or object code is made by offering | ||||||
|  | access to copy from a designated place, then offering equivalent | ||||||
|  | access to copy the source code from the same place counts as | ||||||
|  | distribution of the source code, even though third parties are not | ||||||
|  | compelled to copy the source along with the object code. | ||||||
|  |  | ||||||
|  |   4. You may not copy, modify, sublicense, or distribute the Program | ||||||
|  | except as expressly provided under this License.  Any attempt | ||||||
|  | otherwise to copy, modify, sublicense or distribute the Program is | ||||||
|  | void, and will automatically terminate your rights under this License. | ||||||
|  | However, parties who have received copies, or rights, from you under | ||||||
|  | this License will not have their licenses terminated so long as such | ||||||
|  | parties remain in full compliance. | ||||||
|  |  | ||||||
|  |   5. You are not required to accept this License, since you have not | ||||||
|  | signed it.  However, nothing else grants you permission to modify or | ||||||
|  | distribute the Program or its derivative works.  These actions are | ||||||
|  | prohibited by law if you do not accept this License.  Therefore, by | ||||||
|  | modifying or distributing the Program (or any work based on the | ||||||
|  | Program), you indicate your acceptance of this License to do so, and | ||||||
|  | all its terms and conditions for copying, distributing or modifying | ||||||
|  | the Program or works based on it. | ||||||
|  |  | ||||||
|  |   6. Each time you redistribute the Program (or any work based on the | ||||||
|  | Program), the recipient automatically receives a license from the | ||||||
|  | original licensor to copy, distribute or modify the Program subject to | ||||||
|  | these terms and conditions.  You may not impose any further | ||||||
|  | restrictions on the recipients' exercise of the rights granted herein. | ||||||
|  | You are not responsible for enforcing compliance by third parties to | ||||||
|  | this License. | ||||||
|  |  | ||||||
|  |   7. If, as a consequence of a court judgment or allegation of patent | ||||||
|  | infringement or for any other reason (not limited to patent issues), | ||||||
|  | conditions are imposed on you (whether by court order, agreement or | ||||||
|  | otherwise) that contradict the conditions of this License, they do not | ||||||
|  | excuse you from the conditions of this License.  If you cannot | ||||||
|  | distribute so as to satisfy simultaneously your obligations under this | ||||||
|  | License and any other pertinent obligations, then as a consequence you | ||||||
|  | may not distribute the Program at all.  For example, if a patent | ||||||
|  | license would not permit royalty-free redistribution of the Program by | ||||||
|  | all those who receive copies directly or indirectly through you, then | ||||||
|  | the only way you could satisfy both it and this License would be to | ||||||
|  | refrain entirely from distribution of the Program. | ||||||
|  |  | ||||||
|  | If any portion of this section is held invalid or unenforceable under | ||||||
|  | any particular circumstance, the balance of the section is intended to | ||||||
|  | apply and the section as a whole is intended to apply in other | ||||||
|  | circumstances. | ||||||
|  |  | ||||||
|  | It is not the purpose of this section to induce you to infringe any | ||||||
|  | patents or other property right claims or to contest validity of any | ||||||
|  | such claims; this section has the sole purpose of protecting the | ||||||
|  | integrity of the free software distribution system, which is | ||||||
|  | implemented by public license practices.  Many people have made | ||||||
|  | generous contributions to the wide range of software distributed | ||||||
|  | through that system in reliance on consistent application of that | ||||||
|  | system; it is up to the author/donor to decide if he or she is willing | ||||||
|  | to distribute software through any other system and a licensee cannot | ||||||
|  | impose that choice. | ||||||
|  |  | ||||||
|  | This section is intended to make thoroughly clear what is believed to | ||||||
|  | be a consequence of the rest of this License. | ||||||
|  |  | ||||||
|  |   8. If the distribution and/or use of the Program is restricted in | ||||||
|  | certain countries either by patents or by copyrighted interfaces, the | ||||||
|  | original copyright holder who places the Program under this License | ||||||
|  | may add an explicit geographical distribution limitation excluding | ||||||
|  | those countries, so that distribution is permitted only in or among | ||||||
|  | countries not thus excluded.  In such case, this License incorporates | ||||||
|  | the limitation as if written in the body of this License. | ||||||
|  |  | ||||||
|  |   9. The Free Software Foundation may publish revised and/or new versions | ||||||
|  | of the General Public License from time to time.  Such new versions will | ||||||
|  | be similar in spirit to the present version, but may differ in detail to | ||||||
|  | address new problems or concerns. | ||||||
|  |  | ||||||
|  | Each version is given a distinguishing version number.  If the Program | ||||||
|  | specifies a version number of this License which applies to it and "any | ||||||
|  | later version", you have the option of following the terms and conditions | ||||||
|  | either of that version or of any later version published by the Free | ||||||
|  | Software Foundation.  If the Program does not specify a version number of | ||||||
|  | this License, you may choose any version ever published by the Free Software | ||||||
|  | Foundation. | ||||||
|  |  | ||||||
|  |   10. If you wish to incorporate parts of the Program into other free | ||||||
|  | programs whose distribution conditions are different, write to the author | ||||||
|  | to ask for permission.  For software which is copyrighted by the Free | ||||||
|  | Software Foundation, write to the Free Software Foundation; we sometimes | ||||||
|  | make exceptions for this.  Our decision will be guided by the two goals | ||||||
|  | of preserving the free status of all derivatives of our free software and | ||||||
|  | of promoting the sharing and reuse of software generally. | ||||||
|  |  | ||||||
|  |                             NO WARRANTY | ||||||
|  |  | ||||||
|  |   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||||||
|  | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN | ||||||
|  | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||||||
|  | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||||||
|  | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||||||
|  | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS | ||||||
|  | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE | ||||||
|  | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||||||
|  | REPAIR OR CORRECTION. | ||||||
|  |  | ||||||
|  |   12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||||||
|  | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||||||
|  | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||||||
|  | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||||||
|  | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||||||
|  | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||||||
|  | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||||||
|  | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||||||
|  | POSSIBILITY OF SUCH DAMAGES. | ||||||
|  |  | ||||||
|  |                      END OF TERMS AND CONDITIONS | ||||||
|  |  | ||||||
|  |             How to Apply These Terms to Your New Programs | ||||||
|  |  | ||||||
|  |   If you develop a new program, and you want it to be of the greatest | ||||||
|  | possible use to the public, the best way to achieve this is to make it | ||||||
|  | free software which everyone can redistribute and change under these terms. | ||||||
|  |  | ||||||
|  |   To do so, attach the following notices to the program.  It is safest | ||||||
|  | to attach them to the start of each source file to most effectively | ||||||
|  | convey the exclusion of warranty; and each file should have at least | ||||||
|  | the "copyright" line and a pointer to where the full notice is found. | ||||||
|  |  | ||||||
|  |     <one line to give the program's name and a brief idea of what it does.> | ||||||
|  |     Copyright (C) <year>  <name of author> | ||||||
|  |  | ||||||
|  |     This program is free software; you can redistribute it and/or modify | ||||||
|  |     it under the terms of the GNU General Public License as published by | ||||||
|  |     the Free Software Foundation; either version 2 of the License, or | ||||||
|  |     (at your option) any later version. | ||||||
|  |  | ||||||
|  |     This program is distributed in the hope that it will be useful, | ||||||
|  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |     GNU General Public License for more details. | ||||||
|  |  | ||||||
|  |     You should have received a copy of the GNU General Public License along | ||||||
|  |     with this program; if not, write to the Free Software Foundation, Inc., | ||||||
|  |     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||||||
|  |  | ||||||
|  | Also add information on how to contact you by electronic and paper mail. | ||||||
|  |  | ||||||
|  | If the program is interactive, make it output a short notice like this | ||||||
|  | when it starts in an interactive mode: | ||||||
|  |  | ||||||
|  |     Gnomovision version 69, Copyright (C) year name of author | ||||||
|  |     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||||||
|  |     This is free software, and you are welcome to redistribute it | ||||||
|  |     under certain conditions; type `show c' for details. | ||||||
|  |  | ||||||
|  | The hypothetical commands `show w' and `show c' should show the appropriate | ||||||
|  | parts of the General Public License.  Of course, the commands you use may | ||||||
|  | be called something other than `show w' and `show c'; they could even be | ||||||
|  | mouse-clicks or menu items--whatever suits your program. | ||||||
|  |  | ||||||
|  | You should also get your employer (if you work as a programmer) or your | ||||||
|  | school, if any, to sign a "copyright disclaimer" for the program, if | ||||||
|  | necessary.  Here is a sample; alter the names: | ||||||
|  |  | ||||||
|  |   Yoyodyne, Inc., hereby disclaims all copyright interest in the program | ||||||
|  |   `Gnomovision' (which makes passes at compilers) written by James Hacker. | ||||||
|  |  | ||||||
|  |   <signature of Ty Coon>, 1 April 1989 | ||||||
|  |   Ty Coon, President of Vice | ||||||
|  |  | ||||||
|  | This General Public License does not permit incorporating your program into | ||||||
|  | proprietary programs.  If your program is a subroutine library, you may | ||||||
|  | consider it more useful to permit linking proprietary applications with the | ||||||
|  | library.  If this is what you want to do, use the GNU Lesser General | ||||||
|  | Public License instead of this License. | ||||||
| @@ -0,0 +1 @@ | |||||||
|  | See bcm28335.h for complete revision history | ||||||
							
								
								
									
										365
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/INSTALL
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										365
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/INSTALL
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,365 @@ | |||||||
|  | Installation Instructions | ||||||
|  | ************************* | ||||||
|  |  | ||||||
|  | Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, | ||||||
|  | 2006, 2007, 2008, 2009 Free Software Foundation, Inc. | ||||||
|  |  | ||||||
|  |    Copying and distribution of this file, with or without modification, | ||||||
|  | are permitted in any medium without royalty provided the copyright | ||||||
|  | notice and this notice are preserved.  This file is offered as-is, | ||||||
|  | without warranty of any kind. | ||||||
|  |  | ||||||
|  | Basic Installation | ||||||
|  | ================== | ||||||
|  |  | ||||||
|  |    Briefly, the shell commands `./configure; make; make install' should | ||||||
|  | configure, build, and install this package.  The following | ||||||
|  | more-detailed instructions are generic; see the `README' file for | ||||||
|  | instructions specific to this package.  Some packages provide this | ||||||
|  | `INSTALL' file but do not implement all of the features documented | ||||||
|  | below.  The lack of an optional feature in a given package is not | ||||||
|  | necessarily a bug.  More recommendations for GNU packages can be found | ||||||
|  | in *note Makefile Conventions: (standards)Makefile Conventions. | ||||||
|  |  | ||||||
|  |    The `configure' shell script attempts to guess correct values for | ||||||
|  | various system-dependent variables used during compilation.  It uses | ||||||
|  | those values to create a `Makefile' in each directory of the package. | ||||||
|  | It may also create one or more `.h' files containing system-dependent | ||||||
|  | definitions.  Finally, it creates a shell script `config.status' that | ||||||
|  | you can run in the future to recreate the current configuration, and a | ||||||
|  | file `config.log' containing compiler output (useful mainly for | ||||||
|  | debugging `configure'). | ||||||
|  |  | ||||||
|  |    It can also use an optional file (typically called `config.cache' | ||||||
|  | and enabled with `--cache-file=config.cache' or simply `-C') that saves | ||||||
|  | the results of its tests to speed up reconfiguring.  Caching is | ||||||
|  | disabled by default to prevent problems with accidental use of stale | ||||||
|  | cache files. | ||||||
|  |  | ||||||
|  |    If you need to do unusual things to compile the package, please try | ||||||
|  | to figure out how `configure' could check whether to do them, and mail | ||||||
|  | diffs or instructions to the address given in the `README' so they can | ||||||
|  | be considered for the next release.  If you are using the cache, and at | ||||||
|  | some point `config.cache' contains results you don't want to keep, you | ||||||
|  | may remove or edit it. | ||||||
|  |  | ||||||
|  |    The file `configure.ac' (or `configure.in') is used to create | ||||||
|  | `configure' by a program called `autoconf'.  You need `configure.ac' if | ||||||
|  | you want to change it or regenerate `configure' using a newer version | ||||||
|  | of `autoconf'. | ||||||
|  |  | ||||||
|  |    The simplest way to compile this package is: | ||||||
|  |  | ||||||
|  |   1. `cd' to the directory containing the package's source code and type | ||||||
|  |      `./configure' to configure the package for your system. | ||||||
|  |  | ||||||
|  |      Running `configure' might take a while.  While running, it prints | ||||||
|  |      some messages telling which features it is checking for. | ||||||
|  |  | ||||||
|  |   2. Type `make' to compile the package. | ||||||
|  |  | ||||||
|  |   3. Optionally, type `make check' to run any self-tests that come with | ||||||
|  |      the package, generally using the just-built uninstalled binaries. | ||||||
|  |  | ||||||
|  |   4. Type `make install' to install the programs and any data files and | ||||||
|  |      documentation.  When installing into a prefix owned by root, it is | ||||||
|  |      recommended that the package be configured and built as a regular | ||||||
|  |      user, and only the `make install' phase executed with root | ||||||
|  |      privileges. | ||||||
|  |  | ||||||
|  |   5. Optionally, type `make installcheck' to repeat any self-tests, but | ||||||
|  |      this time using the binaries in their final installed location. | ||||||
|  |      This target does not install anything.  Running this target as a | ||||||
|  |      regular user, particularly if the prior `make install' required | ||||||
|  |      root privileges, verifies that the installation completed | ||||||
|  |      correctly. | ||||||
|  |  | ||||||
|  |   6. You can remove the program binaries and object files from the | ||||||
|  |      source code directory by typing `make clean'.  To also remove the | ||||||
|  |      files that `configure' created (so you can compile the package for | ||||||
|  |      a different kind of computer), type `make distclean'.  There is | ||||||
|  |      also a `make maintainer-clean' target, but that is intended mainly | ||||||
|  |      for the package's developers.  If you use it, you may have to get | ||||||
|  |      all sorts of other programs in order to regenerate files that came | ||||||
|  |      with the distribution. | ||||||
|  |  | ||||||
|  |   7. Often, you can also type `make uninstall' to remove the installed | ||||||
|  |      files again.  In practice, not all packages have tested that | ||||||
|  |      uninstallation works correctly, even though it is required by the | ||||||
|  |      GNU Coding Standards. | ||||||
|  |  | ||||||
|  |   8. Some packages, particularly those that use Automake, provide `make | ||||||
|  |      distcheck', which can by used by developers to test that all other | ||||||
|  |      targets like `make install' and `make uninstall' work correctly. | ||||||
|  |      This target is generally not run by end users. | ||||||
|  |  | ||||||
|  | Compilers and Options | ||||||
|  | ===================== | ||||||
|  |  | ||||||
|  |    Some systems require unusual options for compilation or linking that | ||||||
|  | the `configure' script does not know about.  Run `./configure --help' | ||||||
|  | for details on some of the pertinent environment variables. | ||||||
|  |  | ||||||
|  |    You can give `configure' initial values for configuration parameters | ||||||
|  | by setting variables in the command line or in the environment.  Here | ||||||
|  | is an example: | ||||||
|  |  | ||||||
|  |      ./configure CC=c99 CFLAGS=-g LIBS=-lposix | ||||||
|  |  | ||||||
|  |    *Note Defining Variables::, for more details. | ||||||
|  |  | ||||||
|  | Compiling For Multiple Architectures | ||||||
|  | ==================================== | ||||||
|  |  | ||||||
|  |    You can compile the package for more than one kind of computer at the | ||||||
|  | same time, by placing the object files for each architecture in their | ||||||
|  | own directory.  To do this, you can use GNU `make'.  `cd' to the | ||||||
|  | directory where you want the object files and executables to go and run | ||||||
|  | the `configure' script.  `configure' automatically checks for the | ||||||
|  | source code in the directory that `configure' is in and in `..'.  This | ||||||
|  | is known as a "VPATH" build. | ||||||
|  |  | ||||||
|  |    With a non-GNU `make', it is safer to compile the package for one | ||||||
|  | architecture at a time in the source code directory.  After you have | ||||||
|  | installed the package for one architecture, use `make distclean' before | ||||||
|  | reconfiguring for another architecture. | ||||||
|  |  | ||||||
|  |    On MacOS X 10.5 and later systems, you can create libraries and | ||||||
|  | executables that work on multiple system types--known as "fat" or | ||||||
|  | "universal" binaries--by specifying multiple `-arch' options to the | ||||||
|  | compiler but only a single `-arch' option to the preprocessor.  Like | ||||||
|  | this: | ||||||
|  |  | ||||||
|  |      ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | ||||||
|  |                  CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | ||||||
|  |                  CPP="gcc -E" CXXCPP="g++ -E" | ||||||
|  |  | ||||||
|  |    This is not guaranteed to produce working output in all cases, you | ||||||
|  | may have to build one architecture at a time and combine the results | ||||||
|  | using the `lipo' tool if you have problems. | ||||||
|  |  | ||||||
|  | Installation Names | ||||||
|  | ================== | ||||||
|  |  | ||||||
|  |    By default, `make install' installs the package's commands under | ||||||
|  | `/usr/local/bin', include files under `/usr/local/include', etc.  You | ||||||
|  | can specify an installation prefix other than `/usr/local' by giving | ||||||
|  | `configure' the option `--prefix=PREFIX', where PREFIX must be an | ||||||
|  | absolute file name. | ||||||
|  |  | ||||||
|  |    You can specify separate installation prefixes for | ||||||
|  | architecture-specific files and architecture-independent files.  If you | ||||||
|  | pass the option `--exec-prefix=PREFIX' to `configure', the package uses | ||||||
|  | PREFIX as the prefix for installing programs and libraries. | ||||||
|  | Documentation and other data files still use the regular prefix. | ||||||
|  |  | ||||||
|  |    In addition, if you use an unusual directory layout you can give | ||||||
|  | options like `--bindir=DIR' to specify different values for particular | ||||||
|  | kinds of files.  Run `configure --help' for a list of the directories | ||||||
|  | you can set and what kinds of files go in them.  In general, the | ||||||
|  | default for these options is expressed in terms of `${prefix}', so that | ||||||
|  | specifying just `--prefix' will affect all of the other directory | ||||||
|  | specifications that were not explicitly provided. | ||||||
|  |  | ||||||
|  |    The most portable way to affect installation locations is to pass the | ||||||
|  | correct locations to `configure'; however, many packages provide one or | ||||||
|  | both of the following shortcuts of passing variable assignments to the | ||||||
|  | `make install' command line to change installation locations without | ||||||
|  | having to reconfigure or recompile. | ||||||
|  |  | ||||||
|  |    The first method involves providing an override variable for each | ||||||
|  | affected directory.  For example, `make install | ||||||
|  | prefix=/alternate/directory' will choose an alternate location for all | ||||||
|  | directory configuration variables that were expressed in terms of | ||||||
|  | `${prefix}'.  Any directories that were specified during `configure', | ||||||
|  | but not in terms of `${prefix}', must each be overridden at install | ||||||
|  | time for the entire installation to be relocated.  The approach of | ||||||
|  | makefile variable overrides for each directory variable is required by | ||||||
|  | the GNU Coding Standards, and ideally causes no recompilation. | ||||||
|  | However, some platforms have known limitations with the semantics of | ||||||
|  | shared libraries that end up requiring recompilation when using this | ||||||
|  | method, particularly noticeable in packages that use GNU Libtool. | ||||||
|  |  | ||||||
|  |    The second method involves providing the `DESTDIR' variable.  For | ||||||
|  | example, `make install DESTDIR=/alternate/directory' will prepend | ||||||
|  | `/alternate/directory' before all installation names.  The approach of | ||||||
|  | `DESTDIR' overrides is not required by the GNU Coding Standards, and | ||||||
|  | does not work on platforms that have drive letters.  On the other hand, | ||||||
|  | it does better at avoiding recompilation issues, and works well even | ||||||
|  | when some directory options were not specified in terms of `${prefix}' | ||||||
|  | at `configure' time. | ||||||
|  |  | ||||||
|  | Optional Features | ||||||
|  | ================= | ||||||
|  |  | ||||||
|  |    If the package supports it, you can cause programs to be installed | ||||||
|  | with an extra prefix or suffix on their names by giving `configure' the | ||||||
|  | option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. | ||||||
|  |  | ||||||
|  |    Some packages pay attention to `--enable-FEATURE' options to | ||||||
|  | `configure', where FEATURE indicates an optional part of the package. | ||||||
|  | They may also pay attention to `--with-PACKAGE' options, where PACKAGE | ||||||
|  | is something like `gnu-as' or `x' (for the X Window System).  The | ||||||
|  | `README' should mention any `--enable-' and `--with-' options that the | ||||||
|  | package recognizes. | ||||||
|  |  | ||||||
|  |    For packages that use the X Window System, `configure' can usually | ||||||
|  | find the X include and library files automatically, but if it doesn't, | ||||||
|  | you can use the `configure' options `--x-includes=DIR' and | ||||||
|  | `--x-libraries=DIR' to specify their locations. | ||||||
|  |  | ||||||
|  |    Some packages offer the ability to configure how verbose the | ||||||
|  | execution of `make' will be.  For these packages, running `./configure | ||||||
|  | --enable-silent-rules' sets the default to minimal output, which can be | ||||||
|  | overridden with `make V=1'; while running `./configure | ||||||
|  | --disable-silent-rules' sets the default to verbose, which can be | ||||||
|  | overridden with `make V=0'. | ||||||
|  |  | ||||||
|  | Particular systems | ||||||
|  | ================== | ||||||
|  |  | ||||||
|  |    On HP-UX, the default C compiler is not ANSI C compatible.  If GNU | ||||||
|  | CC is not installed, it is recommended to use the following options in | ||||||
|  | order to use an ANSI C compiler: | ||||||
|  |  | ||||||
|  |      ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" | ||||||
|  |  | ||||||
|  | and if that doesn't work, install pre-built binaries of GCC for HP-UX. | ||||||
|  |  | ||||||
|  |    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot | ||||||
|  | parse its `<wchar.h>' header file.  The option `-nodtk' can be used as | ||||||
|  | a workaround.  If GNU CC is not installed, it is therefore recommended | ||||||
|  | to try | ||||||
|  |  | ||||||
|  |      ./configure CC="cc" | ||||||
|  |  | ||||||
|  | and if that doesn't work, try | ||||||
|  |  | ||||||
|  |      ./configure CC="cc -nodtk" | ||||||
|  |  | ||||||
|  |    On Solaris, don't put `/usr/ucb' early in your `PATH'.  This | ||||||
|  | directory contains several dysfunctional programs; working variants of | ||||||
|  | these programs are available in `/usr/bin'.  So, if you need `/usr/ucb' | ||||||
|  | in your `PATH', put it _after_ `/usr/bin'. | ||||||
|  |  | ||||||
|  |    On Haiku, software installed for all users goes in `/boot/common', | ||||||
|  | not `/usr/local'.  It is recommended to use the following options: | ||||||
|  |  | ||||||
|  |      ./configure --prefix=/boot/common | ||||||
|  |  | ||||||
|  | Specifying the System Type | ||||||
|  | ========================== | ||||||
|  |  | ||||||
|  |    There may be some features `configure' cannot figure out | ||||||
|  | automatically, but needs to determine by the type of machine the package | ||||||
|  | will run on.  Usually, assuming the package is built to be run on the | ||||||
|  | _same_ architectures, `configure' can figure that out, but if it prints | ||||||
|  | a message saying it cannot guess the machine type, give it the | ||||||
|  | `--build=TYPE' option.  TYPE can either be a short name for the system | ||||||
|  | type, such as `sun4', or a canonical name which has the form: | ||||||
|  |  | ||||||
|  |      CPU-COMPANY-SYSTEM | ||||||
|  |  | ||||||
|  | where SYSTEM can have one of these forms: | ||||||
|  |  | ||||||
|  |      OS | ||||||
|  |      KERNEL-OS | ||||||
|  |  | ||||||
|  |    See the file `config.sub' for the possible values of each field.  If | ||||||
|  | `config.sub' isn't included in this package, then this package doesn't | ||||||
|  | need to know the machine type. | ||||||
|  |  | ||||||
|  |    If you are _building_ compiler tools for cross-compiling, you should | ||||||
|  | use the option `--target=TYPE' to select the type of system they will | ||||||
|  | produce code for. | ||||||
|  |  | ||||||
|  |    If you want to _use_ a cross compiler, that generates code for a | ||||||
|  | platform different from the build platform, you should specify the | ||||||
|  | "host" platform (i.e., that on which the generated programs will | ||||||
|  | eventually be run) with `--host=TYPE'. | ||||||
|  |  | ||||||
|  | Sharing Defaults | ||||||
|  | ================ | ||||||
|  |  | ||||||
|  |    If you want to set default values for `configure' scripts to share, | ||||||
|  | you can create a site shell script called `config.site' that gives | ||||||
|  | default values for variables like `CC', `cache_file', and `prefix'. | ||||||
|  | `configure' looks for `PREFIX/share/config.site' if it exists, then | ||||||
|  | `PREFIX/etc/config.site' if it exists.  Or, you can set the | ||||||
|  | `CONFIG_SITE' environment variable to the location of the site script. | ||||||
|  | A warning: not all `configure' scripts look for a site script. | ||||||
|  |  | ||||||
|  | Defining Variables | ||||||
|  | ================== | ||||||
|  |  | ||||||
|  |    Variables not defined in a site shell script can be set in the | ||||||
|  | environment passed to `configure'.  However, some packages may run | ||||||
|  | configure again during the build, and the customized values of these | ||||||
|  | variables may be lost.  In order to avoid this problem, you should set | ||||||
|  | them in the `configure' command line, using `VAR=value'.  For example: | ||||||
|  |  | ||||||
|  |      ./configure CC=/usr/local2/bin/gcc | ||||||
|  |  | ||||||
|  | causes the specified `gcc' to be used as the C compiler (unless it is | ||||||
|  | overridden in the site shell script). | ||||||
|  |  | ||||||
|  | Unfortunately, this technique does not work for `CONFIG_SHELL' due to | ||||||
|  | an Autoconf bug.  Until the bug is fixed you can use this workaround: | ||||||
|  |  | ||||||
|  |      CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash | ||||||
|  |  | ||||||
|  | `configure' Invocation | ||||||
|  | ====================== | ||||||
|  |  | ||||||
|  |    `configure' recognizes the following options to control how it | ||||||
|  | operates. | ||||||
|  |  | ||||||
|  | `--help' | ||||||
|  | `-h' | ||||||
|  |      Print a summary of all of the options to `configure', and exit. | ||||||
|  |  | ||||||
|  | `--help=short' | ||||||
|  | `--help=recursive' | ||||||
|  |      Print a summary of the options unique to this package's | ||||||
|  |      `configure', and exit.  The `short' variant lists options used | ||||||
|  |      only in the top level, while the `recursive' variant lists options | ||||||
|  |      also present in any nested packages. | ||||||
|  |  | ||||||
|  | `--version' | ||||||
|  | `-V' | ||||||
|  |      Print the version of Autoconf used to generate the `configure' | ||||||
|  |      script, and exit. | ||||||
|  |  | ||||||
|  | `--cache-file=FILE' | ||||||
|  |      Enable the cache: use and save the results of the tests in FILE, | ||||||
|  |      traditionally `config.cache'.  FILE defaults to `/dev/null' to | ||||||
|  |      disable caching. | ||||||
|  |  | ||||||
|  | `--config-cache' | ||||||
|  | `-C' | ||||||
|  |      Alias for `--cache-file=config.cache'. | ||||||
|  |  | ||||||
|  | `--quiet' | ||||||
|  | `--silent' | ||||||
|  | `-q' | ||||||
|  |      Do not print messages saying which checks are being made.  To | ||||||
|  |      suppress all normal output, redirect it to `/dev/null' (any error | ||||||
|  |      messages will still be shown). | ||||||
|  |  | ||||||
|  | `--srcdir=DIR' | ||||||
|  |      Look for the package's source code in directory DIR.  Usually | ||||||
|  |      `configure' can determine that directory automatically. | ||||||
|  |  | ||||||
|  | `--prefix=DIR' | ||||||
|  |      Use DIR as the installation prefix.  *note Installation Names:: | ||||||
|  |      for more details, including other options available for fine-tuning | ||||||
|  |      the installation locations. | ||||||
|  |  | ||||||
|  | `--no-create' | ||||||
|  | `-n' | ||||||
|  |      Run the configure checks, but stop before creating any output | ||||||
|  |      files. | ||||||
|  |  | ||||||
|  | `configure' also accepts some other, not widely useful, options.  Run | ||||||
|  | `configure --help' for more details. | ||||||
|  |  | ||||||
							
								
								
									
										786
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										786
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,786 @@ | |||||||
|  | # Makefile.in generated by automake 1.16.1 from Makefile.am. | ||||||
|  | # Makefile.  Generated from Makefile.in by configure. | ||||||
|  |  | ||||||
|  | # Copyright (C) 1994-2018 Free Software Foundation, Inc. | ||||||
|  |  | ||||||
|  | # This Makefile.in is free software; the Free Software Foundation | ||||||
|  | # gives unlimited permission to copy and/or distribute it, | ||||||
|  | # with or without modifications, as long as this notice is preserved. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||||||
|  | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||||||
|  | # PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | am__is_gnu_make = { \ | ||||||
|  |   if test -z '$(MAKELEVEL)'; then \ | ||||||
|  |     false; \ | ||||||
|  |   elif test -n '$(MAKE_HOST)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   else \ | ||||||
|  |     false; \ | ||||||
|  |   fi; \ | ||||||
|  | } | ||||||
|  | am__make_running_with_option = \ | ||||||
|  |   case $${target_option-} in \ | ||||||
|  |       ?) ;; \ | ||||||
|  |       *) echo "am__make_running_with_option: internal error: invalid" \ | ||||||
|  |               "target option '$${target_option-}' specified" >&2; \ | ||||||
|  |          exit 1;; \ | ||||||
|  |   esac; \ | ||||||
|  |   has_opt=no; \ | ||||||
|  |   sane_makeflags=$$MAKEFLAGS; \ | ||||||
|  |   if $(am__is_gnu_make); then \ | ||||||
|  |     sane_makeflags=$$MFLAGS; \ | ||||||
|  |   else \ | ||||||
|  |     case $$MAKEFLAGS in \ | ||||||
|  |       *\\[\ \	]*) \ | ||||||
|  |         bs=\\; \ | ||||||
|  |         sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | ||||||
|  |           | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ | ||||||
|  |     esac; \ | ||||||
|  |   fi; \ | ||||||
|  |   skip_next=no; \ | ||||||
|  |   strip_trailopt () \ | ||||||
|  |   { \ | ||||||
|  |     flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ | ||||||
|  |   }; \ | ||||||
|  |   for flg in $$sane_makeflags; do \ | ||||||
|  |     test $$skip_next = yes && { skip_next=no; continue; }; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *=*|--*) continue;; \ | ||||||
|  |         -*I) strip_trailopt 'I'; skip_next=yes;; \ | ||||||
|  |       -*I?*) strip_trailopt 'I';; \ | ||||||
|  |         -*O) strip_trailopt 'O'; skip_next=yes;; \ | ||||||
|  |       -*O?*) strip_trailopt 'O';; \ | ||||||
|  |         -*l) strip_trailopt 'l'; skip_next=yes;; \ | ||||||
|  |       -*l?*) strip_trailopt 'l';; \ | ||||||
|  |       -[dEDm]) skip_next=yes;; \ | ||||||
|  |       -[JT]) skip_next=yes;; \ | ||||||
|  |     esac; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *$$target_option*) has_opt=yes; break;; \ | ||||||
|  |     esac; \ | ||||||
|  |   done; \ | ||||||
|  |   test $$has_opt = yes | ||||||
|  | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | ||||||
|  | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | ||||||
|  | pkgdatadir = $(datadir)/bcm2835 | ||||||
|  | pkgincludedir = $(includedir)/bcm2835 | ||||||
|  | pkglibdir = $(libdir)/bcm2835 | ||||||
|  | pkglibexecdir = $(libexecdir)/bcm2835 | ||||||
|  | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | ||||||
|  | install_sh_DATA = $(install_sh) -c -m 644 | ||||||
|  | install_sh_PROGRAM = $(install_sh) -c | ||||||
|  | install_sh_SCRIPT = $(install_sh) -c | ||||||
|  | INSTALL_HEADER = $(INSTALL_DATA) | ||||||
|  | transform = $(program_transform_name) | ||||||
|  | NORMAL_INSTALL = : | ||||||
|  | PRE_INSTALL = : | ||||||
|  | POST_INSTALL = : | ||||||
|  | NORMAL_UNINSTALL = : | ||||||
|  | PRE_UNINSTALL = : | ||||||
|  | POST_UNINSTALL = : | ||||||
|  | subdir = . | ||||||
|  | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||||||
|  | am__aclocal_m4_deps = $(top_srcdir)/configure.ac | ||||||
|  | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | ||||||
|  | 	$(ACLOCAL_M4) | ||||||
|  | DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ | ||||||
|  | 	$(am__configure_deps) $(am__DIST_COMMON) | ||||||
|  | am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ | ||||||
|  |  configure.lineno config.status.lineno | ||||||
|  | mkinstalldirs = $(install_sh) -d | ||||||
|  | CONFIG_HEADER = config.h | ||||||
|  | CONFIG_CLEAN_FILES = | ||||||
|  | CONFIG_CLEAN_VPATH_FILES = | ||||||
|  | AM_V_P = $(am__v_P_$(V)) | ||||||
|  | am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_P_0 = false | ||||||
|  | am__v_P_1 = : | ||||||
|  | AM_V_GEN = $(am__v_GEN_$(V)) | ||||||
|  | am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_GEN_0 = @echo "  GEN     " $@; | ||||||
|  | am__v_GEN_1 =  | ||||||
|  | AM_V_at = $(am__v_at_$(V)) | ||||||
|  | am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_at_0 = @ | ||||||
|  | am__v_at_1 =  | ||||||
|  | SOURCES = | ||||||
|  | DIST_SOURCES = | ||||||
|  | RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ | ||||||
|  | 	ctags-recursive dvi-recursive html-recursive info-recursive \ | ||||||
|  | 	install-data-recursive install-dvi-recursive \ | ||||||
|  | 	install-exec-recursive install-html-recursive \ | ||||||
|  | 	install-info-recursive install-pdf-recursive \ | ||||||
|  | 	install-ps-recursive install-recursive installcheck-recursive \ | ||||||
|  | 	installdirs-recursive pdf-recursive ps-recursive \ | ||||||
|  | 	tags-recursive uninstall-recursive | ||||||
|  | am__can_run_installinfo = \ | ||||||
|  |   case $$AM_UPDATE_INFO_DIR in \ | ||||||
|  |     n|no|NO) false;; \ | ||||||
|  |     *) (install-info --version) >/dev/null 2>&1;; \ | ||||||
|  |   esac | ||||||
|  | RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\ | ||||||
|  |   distclean-recursive maintainer-clean-recursive | ||||||
|  | am__recursive_targets = \ | ||||||
|  |   $(RECURSIVE_TARGETS) \ | ||||||
|  |   $(RECURSIVE_CLEAN_TARGETS) \ | ||||||
|  |   $(am__extra_recursive_targets) | ||||||
|  | AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ | ||||||
|  | 	cscope distdir distdir-am dist dist-all distcheck | ||||||
|  | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ | ||||||
|  | 	$(LISP)config.h.in | ||||||
|  | # Read a list of newline-separated strings from the standard input, | ||||||
|  | # and print each of them once, without duplicates.  Input order is | ||||||
|  | # *not* preserved. | ||||||
|  | am__uniquify_input = $(AWK) '\ | ||||||
|  |   BEGIN { nonempty = 0; } \ | ||||||
|  |   { items[$$0] = 1; nonempty = 1; } \ | ||||||
|  |   END { if (nonempty) { for (i in items) print i; }; } \ | ||||||
|  | ' | ||||||
|  | # Make sure the list of sources is unique.  This is necessary because, | ||||||
|  | # e.g., the same source file might be shared among _SOURCES variables | ||||||
|  | # for different programs/libraries. | ||||||
|  | am__define_uniq_tagged_files = \ | ||||||
|  |   list='$(am__tagged_files)'; \ | ||||||
|  |   unique=`for i in $$list; do \ | ||||||
|  |     if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||||||
|  |   done | $(am__uniquify_input)` | ||||||
|  | ETAGS = etags | ||||||
|  | CTAGS = ctags | ||||||
|  | CSCOPE = cscope | ||||||
|  | DIST_SUBDIRS = $(SUBDIRS) | ||||||
|  | am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ | ||||||
|  | 	COPYING ChangeLog INSTALL NEWS README compile config.guess \ | ||||||
|  | 	config.sub depcomp install-sh ltmain.sh missing | ||||||
|  | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | ||||||
|  | distdir = $(PACKAGE)-$(VERSION) | ||||||
|  | top_distdir = $(distdir) | ||||||
|  | am__remove_distdir = \ | ||||||
|  |   if test -d "$(distdir)"; then \ | ||||||
|  |     find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ | ||||||
|  |       && rm -rf "$(distdir)" \ | ||||||
|  |       || { sleep 5 && rm -rf "$(distdir)"; }; \ | ||||||
|  |   else :; fi | ||||||
|  | am__post_remove_distdir = $(am__remove_distdir) | ||||||
|  | am__relativize = \ | ||||||
|  |   dir0=`pwd`; \ | ||||||
|  |   sed_first='s,^\([^/]*\)/.*$$,\1,'; \ | ||||||
|  |   sed_rest='s,^[^/]*/*,,'; \ | ||||||
|  |   sed_last='s,^.*/\([^/]*\)$$,\1,'; \ | ||||||
|  |   sed_butlast='s,/*[^/]*$$,,'; \ | ||||||
|  |   while test -n "$$dir1"; do \ | ||||||
|  |     first=`echo "$$dir1" | sed -e "$$sed_first"`; \ | ||||||
|  |     if test "$$first" != "."; then \ | ||||||
|  |       if test "$$first" = ".."; then \ | ||||||
|  |         dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ | ||||||
|  |         dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ | ||||||
|  |       else \ | ||||||
|  |         first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ | ||||||
|  |         if test "$$first2" = "$$first"; then \ | ||||||
|  |           dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ | ||||||
|  |         else \ | ||||||
|  |           dir2="../$$dir2"; \ | ||||||
|  |         fi; \ | ||||||
|  |         dir0="$$dir0"/"$$first"; \ | ||||||
|  |       fi; \ | ||||||
|  |     fi; \ | ||||||
|  |     dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ | ||||||
|  |   done; \ | ||||||
|  |   reldir="$$dir2" | ||||||
|  | DIST_ARCHIVES = $(distdir).tar.gz | ||||||
|  | GZIP_ENV = --best | ||||||
|  | DIST_TARGETS = dist-gzip | ||||||
|  | distuninstallcheck_listfiles = find . -type f -print | ||||||
|  | am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | ||||||
|  |   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' | ||||||
|  | distcleancheck_listfiles = find . -type f -print | ||||||
|  | ACLOCAL = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing aclocal-1.16 | ||||||
|  | AMTAR = $${TAR-tar} | ||||||
|  | AM_DEFAULT_VERBOSITY = 1 | ||||||
|  | AUTOCONF = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing autoconf | ||||||
|  | AUTOHEADER = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing autoheader | ||||||
|  | AUTOMAKE = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing automake-1.16 | ||||||
|  | AWK = mawk | ||||||
|  | CC = gcc | ||||||
|  | CCDEPMODE = depmode=gcc3 | ||||||
|  | CFLAGS = -g -O2 | ||||||
|  | CPPFLAGS =  | ||||||
|  | CYGPATH_W = echo | ||||||
|  | DEFS = -DHAVE_CONFIG_H | ||||||
|  | DEPDIR = .deps | ||||||
|  | DOXYGEN =  | ||||||
|  | ECHO_C =  | ||||||
|  | ECHO_N = -n | ||||||
|  | ECHO_T =  | ||||||
|  | EXEEXT =  | ||||||
|  | INSTALL = /usr/bin/install -c | ||||||
|  | INSTALL_DATA = ${INSTALL} -m 644 | ||||||
|  | INSTALL_PROGRAM = ${INSTALL} | ||||||
|  | INSTALL_SCRIPT = ${INSTALL} | ||||||
|  | INSTALL_STRIP_PROGRAM = $(install_sh) -c -s | ||||||
|  | LDFLAGS =  | ||||||
|  | LIBOBJS =  | ||||||
|  | LIBS = -lrt  | ||||||
|  | LTLIBOBJS =  | ||||||
|  | MAKEINFO = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing makeinfo | ||||||
|  | MKDIR_P = /bin/mkdir -p | ||||||
|  | OBJEXT = o | ||||||
|  | PACKAGE = bcm2835 | ||||||
|  | PACKAGE_BUGREPORT = mikem@airspayce.com | ||||||
|  | PACKAGE_NAME = bcm2835 | ||||||
|  | PACKAGE_STRING = bcm2835 1.58 | ||||||
|  | PACKAGE_TARNAME = bcm2835 | ||||||
|  | PACKAGE_URL =  | ||||||
|  | PACKAGE_VERSION = 1.58 | ||||||
|  | PATH_SEPARATOR = : | ||||||
|  | RANLIB = ranlib | ||||||
|  | SET_MAKE =  | ||||||
|  | SHELL = /bin/bash | ||||||
|  | STRIP =  | ||||||
|  | VERSION = 1.58 | ||||||
|  | abs_builddir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58 | ||||||
|  | abs_srcdir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58 | ||||||
|  | abs_top_builddir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58 | ||||||
|  | abs_top_srcdir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58 | ||||||
|  | ac_ct_CC = gcc | ||||||
|  | am__include = include | ||||||
|  | am__leading_dot = . | ||||||
|  | am__quote =  | ||||||
|  | am__tar = $${TAR-tar} chof - "$$tardir" | ||||||
|  | am__untar = $${TAR-tar} xf - | ||||||
|  | bindir = ${exec_prefix}/bin | ||||||
|  | build_alias =  | ||||||
|  | builddir = . | ||||||
|  | datadir = ${datarootdir} | ||||||
|  | datarootdir = ${prefix}/share | ||||||
|  | docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} | ||||||
|  | dvidir = ${docdir} | ||||||
|  | exec_prefix = ${prefix} | ||||||
|  | host_alias =  | ||||||
|  | htmldir = ${docdir} | ||||||
|  | includedir = ${prefix}/include | ||||||
|  | infodir = ${datarootdir}/info | ||||||
|  | install_sh = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/install-sh | ||||||
|  | libdir = ${exec_prefix}/lib | ||||||
|  | libexecdir = ${exec_prefix}/libexec | ||||||
|  | localedir = ${datarootdir}/locale | ||||||
|  | localstatedir = ${prefix}/var | ||||||
|  | mandir = ${datarootdir}/man | ||||||
|  | mkdir_p = $(MKDIR_P) | ||||||
|  | oldincludedir = /usr/include | ||||||
|  | pdfdir = ${docdir} | ||||||
|  | prefix = /usr/local | ||||||
|  | program_transform_name = s,x,x, | ||||||
|  | psdir = ${docdir} | ||||||
|  | runstatedir = ${localstatedir}/run | ||||||
|  | sbindir = ${exec_prefix}/sbin | ||||||
|  | sharedstatedir = ${prefix}/com | ||||||
|  | srcdir = . | ||||||
|  | sysconfdir = ${prefix}/etc | ||||||
|  | target_alias =  | ||||||
|  | top_build_prefix =  | ||||||
|  | top_builddir = . | ||||||
|  | top_srcdir = . | ||||||
|  | ACLOCAL_AMFLAGS = -I m4 | ||||||
|  | SUBDIRS = src doc | ||||||
|  | CLEANFILES = *~ | ||||||
|  | EXTRA_DIST = examples/blink/blink.c \ | ||||||
|  | examples/input/input.c \ | ||||||
|  | examples/event/event.c \ | ||||||
|  | examples/spi/spi.c \ | ||||||
|  | examples/spin/spin.c \ | ||||||
|  | examples/pwm/pwm.c \ | ||||||
|  | examples/i2c/i2c.c \ | ||||||
|  | examples/gpio/gpio.c \ | ||||||
|  | examples/spiram/spiram_test.c \ | ||||||
|  | examples/spiram/spiram.c \ | ||||||
|  | examples/spiram/spiram.h | ||||||
|  |  | ||||||
|  | all: config.h | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) all-recursive | ||||||
|  |  | ||||||
|  | .SUFFIXES: | ||||||
|  | am--refresh: Makefile | ||||||
|  | 	@: | ||||||
|  | $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) | ||||||
|  | 	@for dep in $?; do \ | ||||||
|  | 	  case '$(am__configure_deps)' in \ | ||||||
|  | 	    *$$dep*) \ | ||||||
|  | 	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ | ||||||
|  | 	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ | ||||||
|  | 		&& exit 0; \ | ||||||
|  | 	      exit 1;; \ | ||||||
|  | 	  esac; \ | ||||||
|  | 	done; \ | ||||||
|  | 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ | ||||||
|  | 	$(am__cd) $(top_srcdir) && \ | ||||||
|  | 	  $(AUTOMAKE) --gnu Makefile | ||||||
|  | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||||||
|  | 	@case '$?' in \ | ||||||
|  | 	  *config.status*) \ | ||||||
|  | 	    echo ' $(SHELL) ./config.status'; \ | ||||||
|  | 	    $(SHELL) ./config.status;; \ | ||||||
|  | 	  *) \ | ||||||
|  | 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ | ||||||
|  | 	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ | ||||||
|  | 	esac; | ||||||
|  |  | ||||||
|  | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||||||
|  | 	$(SHELL) ./config.status --recheck | ||||||
|  |  | ||||||
|  | $(top_srcdir)/configure:  $(am__configure_deps) | ||||||
|  | 	$(am__cd) $(srcdir) && $(AUTOCONF) | ||||||
|  | $(ACLOCAL_M4):  $(am__aclocal_m4_deps) | ||||||
|  | 	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) | ||||||
|  | $(am__aclocal_m4_deps): | ||||||
|  |  | ||||||
|  | config.h: stamp-h1 | ||||||
|  | 	@test -f $@ || rm -f stamp-h1 | ||||||
|  | 	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 | ||||||
|  |  | ||||||
|  | stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status | ||||||
|  | 	@rm -f stamp-h1 | ||||||
|  | 	cd $(top_builddir) && $(SHELL) ./config.status config.h | ||||||
|  | $(srcdir)/config.h.in:  $(am__configure_deps)  | ||||||
|  | 	($(am__cd) $(top_srcdir) && $(AUTOHEADER)) | ||||||
|  | 	rm -f stamp-h1 | ||||||
|  | 	touch $@ | ||||||
|  |  | ||||||
|  | distclean-hdr: | ||||||
|  | 	-rm -f config.h stamp-h1 | ||||||
|  |  | ||||||
|  | # This directory's subdirectories are mostly independent; you can cd | ||||||
|  | # into them and run 'make' without going through this Makefile. | ||||||
|  | # To change the values of 'make' variables: instead of editing Makefiles, | ||||||
|  | # (1) if the variable is set in 'config.status', edit 'config.status' | ||||||
|  | #     (which will cause the Makefiles to be regenerated when you run 'make'); | ||||||
|  | # (2) otherwise, pass the desired values on the 'make' command line. | ||||||
|  | $(am__recursive_targets): | ||||||
|  | 	@fail=; \ | ||||||
|  | 	if $(am__make_keepgoing); then \ | ||||||
|  | 	  failcom='fail=yes'; \ | ||||||
|  | 	else \ | ||||||
|  | 	  failcom='exit 1'; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	dot_seen=no; \ | ||||||
|  | 	target=`echo $@ | sed s/-recursive//`; \ | ||||||
|  | 	case "$@" in \ | ||||||
|  | 	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ | ||||||
|  | 	  *) list='$(SUBDIRS)' ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for subdir in $$list; do \ | ||||||
|  | 	  echo "Making $$target in $$subdir"; \ | ||||||
|  | 	  if test "$$subdir" = "."; then \ | ||||||
|  | 	    dot_seen=yes; \ | ||||||
|  | 	    local_target="$$target-am"; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    local_target="$$target"; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ | ||||||
|  | 	  || eval $$failcom; \ | ||||||
|  | 	done; \ | ||||||
|  | 	if test "$$dot_seen" = "no"; then \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ | ||||||
|  | 	fi; test -z "$$fail" | ||||||
|  |  | ||||||
|  | ID: $(am__tagged_files) | ||||||
|  | 	$(am__define_uniq_tagged_files); mkid -fID $$unique | ||||||
|  | tags: tags-recursive | ||||||
|  | TAGS: tags | ||||||
|  |  | ||||||
|  | tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | ||||||
|  | 	set x; \ | ||||||
|  | 	here=`pwd`; \ | ||||||
|  | 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ | ||||||
|  | 	  include_option=--etags-include; \ | ||||||
|  | 	  empty_fix=.; \ | ||||||
|  | 	else \ | ||||||
|  | 	  include_option=--include; \ | ||||||
|  | 	  empty_fix=; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	list='$(SUBDIRS)'; for subdir in $$list; do \ | ||||||
|  | 	  if test "$$subdir" = .; then :; else \ | ||||||
|  | 	    test ! -f $$subdir/TAGS || \ | ||||||
|  | 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done; \ | ||||||
|  | 	$(am__define_uniq_tagged_files); \ | ||||||
|  | 	shift; \ | ||||||
|  | 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ | ||||||
|  | 	  test -n "$$unique" || unique=$$empty_fix; \ | ||||||
|  | 	  if test $$# -gt 0; then \ | ||||||
|  | 	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||||||
|  | 	      "$$@" $$unique; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||||||
|  | 	      $$unique; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	fi | ||||||
|  | ctags: ctags-recursive | ||||||
|  |  | ||||||
|  | CTAGS: ctags | ||||||
|  | ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | ||||||
|  | 	$(am__define_uniq_tagged_files); \ | ||||||
|  | 	test -z "$(CTAGS_ARGS)$$unique" \ | ||||||
|  | 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ | ||||||
|  | 	     $$unique | ||||||
|  |  | ||||||
|  | GTAGS: | ||||||
|  | 	here=`$(am__cd) $(top_builddir) && pwd` \ | ||||||
|  | 	  && $(am__cd) $(top_srcdir) \ | ||||||
|  | 	  && gtags -i $(GTAGS_ARGS) "$$here" | ||||||
|  | cscope: cscope.files | ||||||
|  | 	test ! -s cscope.files \ | ||||||
|  | 	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) | ||||||
|  | clean-cscope: | ||||||
|  | 	-rm -f cscope.files | ||||||
|  | cscope.files: clean-cscope cscopelist | ||||||
|  | cscopelist: cscopelist-recursive | ||||||
|  |  | ||||||
|  | cscopelist-am: $(am__tagged_files) | ||||||
|  | 	list='$(am__tagged_files)'; \ | ||||||
|  | 	case "$(srcdir)" in \ | ||||||
|  | 	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ | ||||||
|  | 	  *) sdir=$(subdir)/$(srcdir) ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for i in $$list; do \ | ||||||
|  | 	  if test -f "$$i"; then \ | ||||||
|  | 	    echo "$(subdir)/$$i"; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    echo "$$sdir/$$i"; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done >> $(top_builddir)/cscope.files | ||||||
|  |  | ||||||
|  | distclean-tags: | ||||||
|  | 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags | ||||||
|  | 	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files | ||||||
|  |  | ||||||
|  | distdir: $(BUILT_SOURCES) | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) distdir-am | ||||||
|  |  | ||||||
|  | distdir-am: $(DISTFILES) | ||||||
|  | 	$(am__remove_distdir) | ||||||
|  | 	test -d "$(distdir)" || mkdir "$(distdir)" | ||||||
|  | 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	list='$(DISTFILES)'; \ | ||||||
|  | 	  dist_files=`for file in $$list; do echo $$file; done | \ | ||||||
|  | 	  sed -e "s|^$$srcdirstrip/||;t" \ | ||||||
|  | 	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ | ||||||
|  | 	case $$dist_files in \ | ||||||
|  | 	  */*) $(MKDIR_P) `echo "$$dist_files" | \ | ||||||
|  | 			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ | ||||||
|  | 			   sort -u` ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for file in $$dist_files; do \ | ||||||
|  | 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ | ||||||
|  | 	  if test -d $$d/$$file; then \ | ||||||
|  | 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ | ||||||
|  | 	    if test -d "$(distdir)/$$file"; then \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ | ||||||
|  | 	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    test -f "$(distdir)/$$file" \ | ||||||
|  | 	    || cp -p $$d/$$file "$(distdir)/$$file" \ | ||||||
|  | 	    || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done | ||||||
|  | 	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ | ||||||
|  | 	  if test "$$subdir" = .; then :; else \ | ||||||
|  | 	    $(am__make_dryrun) \ | ||||||
|  | 	      || test -d "$(distdir)/$$subdir" \ | ||||||
|  | 	      || $(MKDIR_P) "$(distdir)/$$subdir" \ | ||||||
|  | 	      || exit 1; \ | ||||||
|  | 	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ | ||||||
|  | 	    $(am__relativize); \ | ||||||
|  | 	    new_distdir=$$reldir; \ | ||||||
|  | 	    dir1=$$subdir; dir2="$(top_distdir)"; \ | ||||||
|  | 	    $(am__relativize); \ | ||||||
|  | 	    new_top_distdir=$$reldir; \ | ||||||
|  | 	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ | ||||||
|  | 	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ | ||||||
|  | 	    ($(am__cd) $$subdir && \ | ||||||
|  | 	      $(MAKE) $(AM_MAKEFLAGS) \ | ||||||
|  | 	        top_distdir="$$new_top_distdir" \ | ||||||
|  | 	        distdir="$$new_distdir" \ | ||||||
|  | 		am__remove_distdir=: \ | ||||||
|  | 		am__skip_length_check=: \ | ||||||
|  | 		am__skip_mode_fix=: \ | ||||||
|  | 	        distdir) \ | ||||||
|  | 	      || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done | ||||||
|  | 	-test -n "$(am__skip_mode_fix)" \ | ||||||
|  | 	|| find "$(distdir)" -type d ! -perm -755 \ | ||||||
|  | 		-exec chmod u+rwx,go+rx {} \; -o \ | ||||||
|  | 	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ | ||||||
|  | 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ | ||||||
|  | 	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ | ||||||
|  | 	|| chmod -R a+r "$(distdir)" | ||||||
|  | dist-gzip: distdir | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-bzip2: distdir | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-lzip: distdir | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-xz: distdir | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-tarZ: distdir | ||||||
|  | 	@echo WARNING: "Support for distribution archives compressed with" \ | ||||||
|  | 		       "legacy program 'compress' is deprecated." >&2 | ||||||
|  | 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2 | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-shar: distdir | ||||||
|  | 	@echo WARNING: "Support for shar distribution archives is" \ | ||||||
|  | 	               "deprecated." >&2 | ||||||
|  | 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2 | ||||||
|  | 	shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-zip: distdir | ||||||
|  | 	-rm -f $(distdir).zip | ||||||
|  | 	zip -rq $(distdir).zip $(distdir) | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist dist-all: | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | # This target untars the dist file and tries a VPATH configuration.  Then | ||||||
|  | # it guarantees that the distribution is self-contained by making another | ||||||
|  | # tarfile. | ||||||
|  | distcheck: dist | ||||||
|  | 	case '$(DIST_ARCHIVES)' in \ | ||||||
|  | 	*.tar.gz*) \ | ||||||
|  | 	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ | ||||||
|  | 	*.tar.bz2*) \ | ||||||
|  | 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ | ||||||
|  | 	*.tar.lz*) \ | ||||||
|  | 	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ | ||||||
|  | 	*.tar.xz*) \ | ||||||
|  | 	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\ | ||||||
|  | 	*.tar.Z*) \ | ||||||
|  | 	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ | ||||||
|  | 	*.shar.gz*) \ | ||||||
|  | 	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ | ||||||
|  | 	*.zip*) \ | ||||||
|  | 	  unzip $(distdir).zip ;;\ | ||||||
|  | 	esac | ||||||
|  | 	chmod -R a-w $(distdir) | ||||||
|  | 	chmod u+w $(distdir) | ||||||
|  | 	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst | ||||||
|  | 	chmod a-w $(distdir) | ||||||
|  | 	test -d $(distdir)/_build || exit 0; \ | ||||||
|  | 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ | ||||||
|  | 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ | ||||||
|  | 	  && am__cwd=`pwd` \ | ||||||
|  | 	  && $(am__cd) $(distdir)/_build/sub \ | ||||||
|  | 	  && ../../configure \ | ||||||
|  | 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \ | ||||||
|  | 	    $(DISTCHECK_CONFIGURE_FLAGS) \ | ||||||
|  | 	    --srcdir=../.. --prefix="$$dc_install_base" \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) check \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) install \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ | ||||||
|  | 	        distuninstallcheck \ | ||||||
|  | 	  && chmod -R a-w "$$dc_install_base" \ | ||||||
|  | 	  && ({ \ | ||||||
|  | 	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ | ||||||
|  | 	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ | ||||||
|  | 	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ | ||||||
|  | 	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ | ||||||
|  | 	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ | ||||||
|  | 	      } || { rm -rf "$$dc_destdir"; exit 1; }) \ | ||||||
|  | 	  && rm -rf "$$dc_destdir" \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) dist \ | ||||||
|  | 	  && rm -rf $(DIST_ARCHIVES) \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ | ||||||
|  | 	  && cd "$$am__cwd" \ | ||||||
|  | 	  || exit 1 | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  | 	@(echo "$(distdir) archives ready for distribution: "; \ | ||||||
|  | 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ | ||||||
|  | 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' | ||||||
|  | distuninstallcheck: | ||||||
|  | 	@test -n '$(distuninstallcheck_dir)' || { \ | ||||||
|  | 	  echo 'ERROR: trying to run $@ with an empty' \ | ||||||
|  | 	       '$$(distuninstallcheck_dir)' >&2; \ | ||||||
|  | 	  exit 1; \ | ||||||
|  | 	}; \ | ||||||
|  | 	$(am__cd) '$(distuninstallcheck_dir)' || { \ | ||||||
|  | 	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ | ||||||
|  | 	  exit 1; \ | ||||||
|  | 	}; \ | ||||||
|  | 	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ | ||||||
|  | 	   || { echo "ERROR: files left after uninstall:" ; \ | ||||||
|  | 	        if test -n "$(DESTDIR)"; then \ | ||||||
|  | 	          echo "  (check DESTDIR support)"; \ | ||||||
|  | 	        fi ; \ | ||||||
|  | 	        $(distuninstallcheck_listfiles) ; \ | ||||||
|  | 	        exit 1; } >&2 | ||||||
|  | distcleancheck: distclean | ||||||
|  | 	@if test '$(srcdir)' = . ; then \ | ||||||
|  | 	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \ | ||||||
|  | 	  exit 1 ; \ | ||||||
|  | 	fi | ||||||
|  | 	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ | ||||||
|  | 	  || { echo "ERROR: files left in build directory after distclean:" ; \ | ||||||
|  | 	       $(distcleancheck_listfiles) ; \ | ||||||
|  | 	       exit 1; } >&2 | ||||||
|  | check-am: all-am | ||||||
|  | check: check-recursive | ||||||
|  | all-am: Makefile config.h | ||||||
|  | installdirs: installdirs-recursive | ||||||
|  | installdirs-am: | ||||||
|  | install: install-recursive | ||||||
|  | install-exec: install-exec-recursive | ||||||
|  | install-data: install-data-recursive | ||||||
|  | uninstall: uninstall-recursive | ||||||
|  |  | ||||||
|  | install-am: all-am | ||||||
|  | 	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||||||
|  |  | ||||||
|  | installcheck: installcheck-recursive | ||||||
|  | install-strip: | ||||||
|  | 	if test -z '$(STRIP)'; then \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	      install; \ | ||||||
|  | 	else \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ | ||||||
|  | 	fi | ||||||
|  | mostlyclean-generic: | ||||||
|  |  | ||||||
|  | clean-generic: | ||||||
|  | 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) | ||||||
|  |  | ||||||
|  | distclean-generic: | ||||||
|  | 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | ||||||
|  | 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) | ||||||
|  |  | ||||||
|  | maintainer-clean-generic: | ||||||
|  | 	@echo "This command is intended for maintainers to use" | ||||||
|  | 	@echo "it deletes files that may require special tools to rebuild." | ||||||
|  | clean: clean-recursive | ||||||
|  |  | ||||||
|  | clean-am: clean-generic mostlyclean-am | ||||||
|  |  | ||||||
|  | distclean: distclean-recursive | ||||||
|  | 	-rm -f $(am__CONFIG_DISTCLEAN_FILES) | ||||||
|  | 	-rm -f Makefile | ||||||
|  | distclean-am: clean-am distclean-generic distclean-hdr distclean-tags | ||||||
|  |  | ||||||
|  | dvi: dvi-recursive | ||||||
|  |  | ||||||
|  | dvi-am: | ||||||
|  |  | ||||||
|  | html: html-recursive | ||||||
|  |  | ||||||
|  | html-am: | ||||||
|  |  | ||||||
|  | info: info-recursive | ||||||
|  |  | ||||||
|  | info-am: | ||||||
|  |  | ||||||
|  | install-data-am: | ||||||
|  |  | ||||||
|  | install-dvi: install-dvi-recursive | ||||||
|  |  | ||||||
|  | install-dvi-am: | ||||||
|  |  | ||||||
|  | install-exec-am: | ||||||
|  |  | ||||||
|  | install-html: install-html-recursive | ||||||
|  |  | ||||||
|  | install-html-am: | ||||||
|  |  | ||||||
|  | install-info: install-info-recursive | ||||||
|  |  | ||||||
|  | install-info-am: | ||||||
|  |  | ||||||
|  | install-man: | ||||||
|  |  | ||||||
|  | install-pdf: install-pdf-recursive | ||||||
|  |  | ||||||
|  | install-pdf-am: | ||||||
|  |  | ||||||
|  | install-ps: install-ps-recursive | ||||||
|  |  | ||||||
|  | install-ps-am: | ||||||
|  |  | ||||||
|  | installcheck-am: | ||||||
|  |  | ||||||
|  | maintainer-clean: maintainer-clean-recursive | ||||||
|  | 	-rm -f $(am__CONFIG_DISTCLEAN_FILES) | ||||||
|  | 	-rm -rf $(top_srcdir)/autom4te.cache | ||||||
|  | 	-rm -f Makefile | ||||||
|  | maintainer-clean-am: distclean-am maintainer-clean-generic | ||||||
|  |  | ||||||
|  | mostlyclean: mostlyclean-recursive | ||||||
|  |  | ||||||
|  | mostlyclean-am: mostlyclean-generic | ||||||
|  |  | ||||||
|  | pdf: pdf-recursive | ||||||
|  |  | ||||||
|  | pdf-am: | ||||||
|  |  | ||||||
|  | ps: ps-recursive | ||||||
|  |  | ||||||
|  | ps-am: | ||||||
|  |  | ||||||
|  | uninstall-am: | ||||||
|  |  | ||||||
|  | .MAKE: $(am__recursive_targets) all install-am install-strip | ||||||
|  |  | ||||||
|  | .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ | ||||||
|  | 	am--refresh check check-am clean clean-cscope clean-generic \ | ||||||
|  | 	cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ | ||||||
|  | 	dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ | ||||||
|  | 	distcheck distclean distclean-generic distclean-hdr \ | ||||||
|  | 	distclean-tags distcleancheck distdir distuninstallcheck dvi \ | ||||||
|  | 	dvi-am html html-am info info-am install install-am \ | ||||||
|  | 	install-data install-data-am install-dvi install-dvi-am \ | ||||||
|  | 	install-exec install-exec-am install-html install-html-am \ | ||||||
|  | 	install-info install-info-am install-man install-pdf \ | ||||||
|  | 	install-pdf-am install-ps install-ps-am install-strip \ | ||||||
|  | 	installcheck installcheck-am installdirs installdirs-am \ | ||||||
|  | 	maintainer-clean maintainer-clean-generic mostlyclean \ | ||||||
|  | 	mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ | ||||||
|  | 	uninstall-am | ||||||
|  |  | ||||||
|  | .PRECIOUS: Makefile | ||||||
|  |  | ||||||
|  |  | ||||||
|  | upload: | ||||||
|  | 	rsync -avz bcm2835-1.58.tar.gz doc/html/ www.airspayce.com:public_html/mikem/bcm2835 | ||||||
|  |  | ||||||
|  | # Tell versions [3.59,3.63) of GNU make to not export all variables. | ||||||
|  | # Otherwise a system limit (for SysV at least) may be exceeded. | ||||||
|  | .NOEXPORT: | ||||||
| @@ -0,0 +1,19 @@ | |||||||
|  | ACLOCAL_AMFLAGS = -I m4 | ||||||
|  | SUBDIRS = src doc | ||||||
|  | CLEANFILES = *~ | ||||||
|  | EXTRA_DIST = examples/blink/blink.c \ | ||||||
|  | examples/input/input.c \ | ||||||
|  | examples/event/event.c \ | ||||||
|  | examples/spi/spi.c \ | ||||||
|  | examples/spin/spin.c \ | ||||||
|  | examples/pwm/pwm.c \ | ||||||
|  | examples/i2c/i2c.c \ | ||||||
|  | examples/gpio/gpio.c \ | ||||||
|  | examples/spiram/spiram_test.c \ | ||||||
|  | examples/spiram/spiram.c \ | ||||||
|  | examples/spiram/spiram.h | ||||||
|  |  | ||||||
|  | upload: | ||||||
|  | 	rsync -avz @PACKAGE_TARNAME@-@VERSION@.tar.gz doc/html/ www.airspayce.com:public_html/mikem/@PACKAGE_NAME@ | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										786
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/Makefile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										786
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/Makefile.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,786 @@ | |||||||
|  | # Makefile.in generated by automake 1.16.1 from Makefile.am. | ||||||
|  | # @configure_input@ | ||||||
|  |  | ||||||
|  | # Copyright (C) 1994-2018 Free Software Foundation, Inc. | ||||||
|  |  | ||||||
|  | # This Makefile.in is free software; the Free Software Foundation | ||||||
|  | # gives unlimited permission to copy and/or distribute it, | ||||||
|  | # with or without modifications, as long as this notice is preserved. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||||||
|  | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||||||
|  | # PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  | @SET_MAKE@ | ||||||
|  | VPATH = @srcdir@ | ||||||
|  | am__is_gnu_make = { \ | ||||||
|  |   if test -z '$(MAKELEVEL)'; then \ | ||||||
|  |     false; \ | ||||||
|  |   elif test -n '$(MAKE_HOST)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   else \ | ||||||
|  |     false; \ | ||||||
|  |   fi; \ | ||||||
|  | } | ||||||
|  | am__make_running_with_option = \ | ||||||
|  |   case $${target_option-} in \ | ||||||
|  |       ?) ;; \ | ||||||
|  |       *) echo "am__make_running_with_option: internal error: invalid" \ | ||||||
|  |               "target option '$${target_option-}' specified" >&2; \ | ||||||
|  |          exit 1;; \ | ||||||
|  |   esac; \ | ||||||
|  |   has_opt=no; \ | ||||||
|  |   sane_makeflags=$$MAKEFLAGS; \ | ||||||
|  |   if $(am__is_gnu_make); then \ | ||||||
|  |     sane_makeflags=$$MFLAGS; \ | ||||||
|  |   else \ | ||||||
|  |     case $$MAKEFLAGS in \ | ||||||
|  |       *\\[\ \	]*) \ | ||||||
|  |         bs=\\; \ | ||||||
|  |         sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | ||||||
|  |           | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ | ||||||
|  |     esac; \ | ||||||
|  |   fi; \ | ||||||
|  |   skip_next=no; \ | ||||||
|  |   strip_trailopt () \ | ||||||
|  |   { \ | ||||||
|  |     flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ | ||||||
|  |   }; \ | ||||||
|  |   for flg in $$sane_makeflags; do \ | ||||||
|  |     test $$skip_next = yes && { skip_next=no; continue; }; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *=*|--*) continue;; \ | ||||||
|  |         -*I) strip_trailopt 'I'; skip_next=yes;; \ | ||||||
|  |       -*I?*) strip_trailopt 'I';; \ | ||||||
|  |         -*O) strip_trailopt 'O'; skip_next=yes;; \ | ||||||
|  |       -*O?*) strip_trailopt 'O';; \ | ||||||
|  |         -*l) strip_trailopt 'l'; skip_next=yes;; \ | ||||||
|  |       -*l?*) strip_trailopt 'l';; \ | ||||||
|  |       -[dEDm]) skip_next=yes;; \ | ||||||
|  |       -[JT]) skip_next=yes;; \ | ||||||
|  |     esac; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *$$target_option*) has_opt=yes; break;; \ | ||||||
|  |     esac; \ | ||||||
|  |   done; \ | ||||||
|  |   test $$has_opt = yes | ||||||
|  | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | ||||||
|  | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | ||||||
|  | pkgdatadir = $(datadir)/@PACKAGE@ | ||||||
|  | pkgincludedir = $(includedir)/@PACKAGE@ | ||||||
|  | pkglibdir = $(libdir)/@PACKAGE@ | ||||||
|  | pkglibexecdir = $(libexecdir)/@PACKAGE@ | ||||||
|  | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | ||||||
|  | install_sh_DATA = $(install_sh) -c -m 644 | ||||||
|  | install_sh_PROGRAM = $(install_sh) -c | ||||||
|  | install_sh_SCRIPT = $(install_sh) -c | ||||||
|  | INSTALL_HEADER = $(INSTALL_DATA) | ||||||
|  | transform = $(program_transform_name) | ||||||
|  | NORMAL_INSTALL = : | ||||||
|  | PRE_INSTALL = : | ||||||
|  | POST_INSTALL = : | ||||||
|  | NORMAL_UNINSTALL = : | ||||||
|  | PRE_UNINSTALL = : | ||||||
|  | POST_UNINSTALL = : | ||||||
|  | subdir = . | ||||||
|  | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||||||
|  | am__aclocal_m4_deps = $(top_srcdir)/configure.ac | ||||||
|  | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | ||||||
|  | 	$(ACLOCAL_M4) | ||||||
|  | DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ | ||||||
|  | 	$(am__configure_deps) $(am__DIST_COMMON) | ||||||
|  | am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ | ||||||
|  |  configure.lineno config.status.lineno | ||||||
|  | mkinstalldirs = $(install_sh) -d | ||||||
|  | CONFIG_HEADER = config.h | ||||||
|  | CONFIG_CLEAN_FILES = | ||||||
|  | CONFIG_CLEAN_VPATH_FILES = | ||||||
|  | AM_V_P = $(am__v_P_@AM_V@) | ||||||
|  | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) | ||||||
|  | am__v_P_0 = false | ||||||
|  | am__v_P_1 = : | ||||||
|  | AM_V_GEN = $(am__v_GEN_@AM_V@) | ||||||
|  | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) | ||||||
|  | am__v_GEN_0 = @echo "  GEN     " $@; | ||||||
|  | am__v_GEN_1 =  | ||||||
|  | AM_V_at = $(am__v_at_@AM_V@) | ||||||
|  | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) | ||||||
|  | am__v_at_0 = @ | ||||||
|  | am__v_at_1 =  | ||||||
|  | SOURCES = | ||||||
|  | DIST_SOURCES = | ||||||
|  | RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ | ||||||
|  | 	ctags-recursive dvi-recursive html-recursive info-recursive \ | ||||||
|  | 	install-data-recursive install-dvi-recursive \ | ||||||
|  | 	install-exec-recursive install-html-recursive \ | ||||||
|  | 	install-info-recursive install-pdf-recursive \ | ||||||
|  | 	install-ps-recursive install-recursive installcheck-recursive \ | ||||||
|  | 	installdirs-recursive pdf-recursive ps-recursive \ | ||||||
|  | 	tags-recursive uninstall-recursive | ||||||
|  | am__can_run_installinfo = \ | ||||||
|  |   case $$AM_UPDATE_INFO_DIR in \ | ||||||
|  |     n|no|NO) false;; \ | ||||||
|  |     *) (install-info --version) >/dev/null 2>&1;; \ | ||||||
|  |   esac | ||||||
|  | RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\ | ||||||
|  |   distclean-recursive maintainer-clean-recursive | ||||||
|  | am__recursive_targets = \ | ||||||
|  |   $(RECURSIVE_TARGETS) \ | ||||||
|  |   $(RECURSIVE_CLEAN_TARGETS) \ | ||||||
|  |   $(am__extra_recursive_targets) | ||||||
|  | AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ | ||||||
|  | 	cscope distdir distdir-am dist dist-all distcheck | ||||||
|  | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ | ||||||
|  | 	$(LISP)config.h.in | ||||||
|  | # Read a list of newline-separated strings from the standard input, | ||||||
|  | # and print each of them once, without duplicates.  Input order is | ||||||
|  | # *not* preserved. | ||||||
|  | am__uniquify_input = $(AWK) '\ | ||||||
|  |   BEGIN { nonempty = 0; } \ | ||||||
|  |   { items[$$0] = 1; nonempty = 1; } \ | ||||||
|  |   END { if (nonempty) { for (i in items) print i; }; } \ | ||||||
|  | ' | ||||||
|  | # Make sure the list of sources is unique.  This is necessary because, | ||||||
|  | # e.g., the same source file might be shared among _SOURCES variables | ||||||
|  | # for different programs/libraries. | ||||||
|  | am__define_uniq_tagged_files = \ | ||||||
|  |   list='$(am__tagged_files)'; \ | ||||||
|  |   unique=`for i in $$list; do \ | ||||||
|  |     if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||||||
|  |   done | $(am__uniquify_input)` | ||||||
|  | ETAGS = etags | ||||||
|  | CTAGS = ctags | ||||||
|  | CSCOPE = cscope | ||||||
|  | DIST_SUBDIRS = $(SUBDIRS) | ||||||
|  | am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ | ||||||
|  | 	COPYING ChangeLog INSTALL NEWS README compile config.guess \ | ||||||
|  | 	config.sub depcomp install-sh ltmain.sh missing | ||||||
|  | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | ||||||
|  | distdir = $(PACKAGE)-$(VERSION) | ||||||
|  | top_distdir = $(distdir) | ||||||
|  | am__remove_distdir = \ | ||||||
|  |   if test -d "$(distdir)"; then \ | ||||||
|  |     find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ | ||||||
|  |       && rm -rf "$(distdir)" \ | ||||||
|  |       || { sleep 5 && rm -rf "$(distdir)"; }; \ | ||||||
|  |   else :; fi | ||||||
|  | am__post_remove_distdir = $(am__remove_distdir) | ||||||
|  | am__relativize = \ | ||||||
|  |   dir0=`pwd`; \ | ||||||
|  |   sed_first='s,^\([^/]*\)/.*$$,\1,'; \ | ||||||
|  |   sed_rest='s,^[^/]*/*,,'; \ | ||||||
|  |   sed_last='s,^.*/\([^/]*\)$$,\1,'; \ | ||||||
|  |   sed_butlast='s,/*[^/]*$$,,'; \ | ||||||
|  |   while test -n "$$dir1"; do \ | ||||||
|  |     first=`echo "$$dir1" | sed -e "$$sed_first"`; \ | ||||||
|  |     if test "$$first" != "."; then \ | ||||||
|  |       if test "$$first" = ".."; then \ | ||||||
|  |         dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ | ||||||
|  |         dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ | ||||||
|  |       else \ | ||||||
|  |         first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ | ||||||
|  |         if test "$$first2" = "$$first"; then \ | ||||||
|  |           dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ | ||||||
|  |         else \ | ||||||
|  |           dir2="../$$dir2"; \ | ||||||
|  |         fi; \ | ||||||
|  |         dir0="$$dir0"/"$$first"; \ | ||||||
|  |       fi; \ | ||||||
|  |     fi; \ | ||||||
|  |     dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ | ||||||
|  |   done; \ | ||||||
|  |   reldir="$$dir2" | ||||||
|  | DIST_ARCHIVES = $(distdir).tar.gz | ||||||
|  | GZIP_ENV = --best | ||||||
|  | DIST_TARGETS = dist-gzip | ||||||
|  | distuninstallcheck_listfiles = find . -type f -print | ||||||
|  | am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | ||||||
|  |   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' | ||||||
|  | distcleancheck_listfiles = find . -type f -print | ||||||
|  | ACLOCAL = @ACLOCAL@ | ||||||
|  | AMTAR = @AMTAR@ | ||||||
|  | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ | ||||||
|  | AUTOCONF = @AUTOCONF@ | ||||||
|  | AUTOHEADER = @AUTOHEADER@ | ||||||
|  | AUTOMAKE = @AUTOMAKE@ | ||||||
|  | AWK = @AWK@ | ||||||
|  | CC = @CC@ | ||||||
|  | CCDEPMODE = @CCDEPMODE@ | ||||||
|  | CFLAGS = @CFLAGS@ | ||||||
|  | CPPFLAGS = @CPPFLAGS@ | ||||||
|  | CYGPATH_W = @CYGPATH_W@ | ||||||
|  | DEFS = @DEFS@ | ||||||
|  | DEPDIR = @DEPDIR@ | ||||||
|  | DOXYGEN = @DOXYGEN@ | ||||||
|  | ECHO_C = @ECHO_C@ | ||||||
|  | ECHO_N = @ECHO_N@ | ||||||
|  | ECHO_T = @ECHO_T@ | ||||||
|  | EXEEXT = @EXEEXT@ | ||||||
|  | INSTALL = @INSTALL@ | ||||||
|  | INSTALL_DATA = @INSTALL_DATA@ | ||||||
|  | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||||||
|  | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||||||
|  | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||||||
|  | LDFLAGS = @LDFLAGS@ | ||||||
|  | LIBOBJS = @LIBOBJS@ | ||||||
|  | LIBS = @LIBS@ | ||||||
|  | LTLIBOBJS = @LTLIBOBJS@ | ||||||
|  | MAKEINFO = @MAKEINFO@ | ||||||
|  | MKDIR_P = @MKDIR_P@ | ||||||
|  | OBJEXT = @OBJEXT@ | ||||||
|  | PACKAGE = @PACKAGE@ | ||||||
|  | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | ||||||
|  | PACKAGE_NAME = @PACKAGE_NAME@ | ||||||
|  | PACKAGE_STRING = @PACKAGE_STRING@ | ||||||
|  | PACKAGE_TARNAME = @PACKAGE_TARNAME@ | ||||||
|  | PACKAGE_URL = @PACKAGE_URL@ | ||||||
|  | PACKAGE_VERSION = @PACKAGE_VERSION@ | ||||||
|  | PATH_SEPARATOR = @PATH_SEPARATOR@ | ||||||
|  | RANLIB = @RANLIB@ | ||||||
|  | SET_MAKE = @SET_MAKE@ | ||||||
|  | SHELL = @SHELL@ | ||||||
|  | STRIP = @STRIP@ | ||||||
|  | VERSION = @VERSION@ | ||||||
|  | abs_builddir = @abs_builddir@ | ||||||
|  | abs_srcdir = @abs_srcdir@ | ||||||
|  | abs_top_builddir = @abs_top_builddir@ | ||||||
|  | abs_top_srcdir = @abs_top_srcdir@ | ||||||
|  | ac_ct_CC = @ac_ct_CC@ | ||||||
|  | am__include = @am__include@ | ||||||
|  | am__leading_dot = @am__leading_dot@ | ||||||
|  | am__quote = @am__quote@ | ||||||
|  | am__tar = @am__tar@ | ||||||
|  | am__untar = @am__untar@ | ||||||
|  | bindir = @bindir@ | ||||||
|  | build_alias = @build_alias@ | ||||||
|  | builddir = @builddir@ | ||||||
|  | datadir = @datadir@ | ||||||
|  | datarootdir = @datarootdir@ | ||||||
|  | docdir = @docdir@ | ||||||
|  | dvidir = @dvidir@ | ||||||
|  | exec_prefix = @exec_prefix@ | ||||||
|  | host_alias = @host_alias@ | ||||||
|  | htmldir = @htmldir@ | ||||||
|  | includedir = @includedir@ | ||||||
|  | infodir = @infodir@ | ||||||
|  | install_sh = @install_sh@ | ||||||
|  | libdir = @libdir@ | ||||||
|  | libexecdir = @libexecdir@ | ||||||
|  | localedir = @localedir@ | ||||||
|  | localstatedir = @localstatedir@ | ||||||
|  | mandir = @mandir@ | ||||||
|  | mkdir_p = @mkdir_p@ | ||||||
|  | oldincludedir = @oldincludedir@ | ||||||
|  | pdfdir = @pdfdir@ | ||||||
|  | prefix = @prefix@ | ||||||
|  | program_transform_name = @program_transform_name@ | ||||||
|  | psdir = @psdir@ | ||||||
|  | runstatedir = @runstatedir@ | ||||||
|  | sbindir = @sbindir@ | ||||||
|  | sharedstatedir = @sharedstatedir@ | ||||||
|  | srcdir = @srcdir@ | ||||||
|  | sysconfdir = @sysconfdir@ | ||||||
|  | target_alias = @target_alias@ | ||||||
|  | top_build_prefix = @top_build_prefix@ | ||||||
|  | top_builddir = @top_builddir@ | ||||||
|  | top_srcdir = @top_srcdir@ | ||||||
|  | ACLOCAL_AMFLAGS = -I m4 | ||||||
|  | SUBDIRS = src doc | ||||||
|  | CLEANFILES = *~ | ||||||
|  | EXTRA_DIST = examples/blink/blink.c \ | ||||||
|  | examples/input/input.c \ | ||||||
|  | examples/event/event.c \ | ||||||
|  | examples/spi/spi.c \ | ||||||
|  | examples/spin/spin.c \ | ||||||
|  | examples/pwm/pwm.c \ | ||||||
|  | examples/i2c/i2c.c \ | ||||||
|  | examples/gpio/gpio.c \ | ||||||
|  | examples/spiram/spiram_test.c \ | ||||||
|  | examples/spiram/spiram.c \ | ||||||
|  | examples/spiram/spiram.h | ||||||
|  |  | ||||||
|  | all: config.h | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) all-recursive | ||||||
|  |  | ||||||
|  | .SUFFIXES: | ||||||
|  | am--refresh: Makefile | ||||||
|  | 	@: | ||||||
|  | $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) | ||||||
|  | 	@for dep in $?; do \ | ||||||
|  | 	  case '$(am__configure_deps)' in \ | ||||||
|  | 	    *$$dep*) \ | ||||||
|  | 	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ | ||||||
|  | 	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ | ||||||
|  | 		&& exit 0; \ | ||||||
|  | 	      exit 1;; \ | ||||||
|  | 	  esac; \ | ||||||
|  | 	done; \ | ||||||
|  | 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ | ||||||
|  | 	$(am__cd) $(top_srcdir) && \ | ||||||
|  | 	  $(AUTOMAKE) --gnu Makefile | ||||||
|  | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||||||
|  | 	@case '$?' in \ | ||||||
|  | 	  *config.status*) \ | ||||||
|  | 	    echo ' $(SHELL) ./config.status'; \ | ||||||
|  | 	    $(SHELL) ./config.status;; \ | ||||||
|  | 	  *) \ | ||||||
|  | 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ | ||||||
|  | 	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ | ||||||
|  | 	esac; | ||||||
|  |  | ||||||
|  | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||||||
|  | 	$(SHELL) ./config.status --recheck | ||||||
|  |  | ||||||
|  | $(top_srcdir)/configure:  $(am__configure_deps) | ||||||
|  | 	$(am__cd) $(srcdir) && $(AUTOCONF) | ||||||
|  | $(ACLOCAL_M4):  $(am__aclocal_m4_deps) | ||||||
|  | 	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) | ||||||
|  | $(am__aclocal_m4_deps): | ||||||
|  |  | ||||||
|  | config.h: stamp-h1 | ||||||
|  | 	@test -f $@ || rm -f stamp-h1 | ||||||
|  | 	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 | ||||||
|  |  | ||||||
|  | stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status | ||||||
|  | 	@rm -f stamp-h1 | ||||||
|  | 	cd $(top_builddir) && $(SHELL) ./config.status config.h | ||||||
|  | $(srcdir)/config.h.in:  $(am__configure_deps)  | ||||||
|  | 	($(am__cd) $(top_srcdir) && $(AUTOHEADER)) | ||||||
|  | 	rm -f stamp-h1 | ||||||
|  | 	touch $@ | ||||||
|  |  | ||||||
|  | distclean-hdr: | ||||||
|  | 	-rm -f config.h stamp-h1 | ||||||
|  |  | ||||||
|  | # This directory's subdirectories are mostly independent; you can cd | ||||||
|  | # into them and run 'make' without going through this Makefile. | ||||||
|  | # To change the values of 'make' variables: instead of editing Makefiles, | ||||||
|  | # (1) if the variable is set in 'config.status', edit 'config.status' | ||||||
|  | #     (which will cause the Makefiles to be regenerated when you run 'make'); | ||||||
|  | # (2) otherwise, pass the desired values on the 'make' command line. | ||||||
|  | $(am__recursive_targets): | ||||||
|  | 	@fail=; \ | ||||||
|  | 	if $(am__make_keepgoing); then \ | ||||||
|  | 	  failcom='fail=yes'; \ | ||||||
|  | 	else \ | ||||||
|  | 	  failcom='exit 1'; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	dot_seen=no; \ | ||||||
|  | 	target=`echo $@ | sed s/-recursive//`; \ | ||||||
|  | 	case "$@" in \ | ||||||
|  | 	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ | ||||||
|  | 	  *) list='$(SUBDIRS)' ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for subdir in $$list; do \ | ||||||
|  | 	  echo "Making $$target in $$subdir"; \ | ||||||
|  | 	  if test "$$subdir" = "."; then \ | ||||||
|  | 	    dot_seen=yes; \ | ||||||
|  | 	    local_target="$$target-am"; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    local_target="$$target"; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ | ||||||
|  | 	  || eval $$failcom; \ | ||||||
|  | 	done; \ | ||||||
|  | 	if test "$$dot_seen" = "no"; then \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ | ||||||
|  | 	fi; test -z "$$fail" | ||||||
|  |  | ||||||
|  | ID: $(am__tagged_files) | ||||||
|  | 	$(am__define_uniq_tagged_files); mkid -fID $$unique | ||||||
|  | tags: tags-recursive | ||||||
|  | TAGS: tags | ||||||
|  |  | ||||||
|  | tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | ||||||
|  | 	set x; \ | ||||||
|  | 	here=`pwd`; \ | ||||||
|  | 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ | ||||||
|  | 	  include_option=--etags-include; \ | ||||||
|  | 	  empty_fix=.; \ | ||||||
|  | 	else \ | ||||||
|  | 	  include_option=--include; \ | ||||||
|  | 	  empty_fix=; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	list='$(SUBDIRS)'; for subdir in $$list; do \ | ||||||
|  | 	  if test "$$subdir" = .; then :; else \ | ||||||
|  | 	    test ! -f $$subdir/TAGS || \ | ||||||
|  | 	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done; \ | ||||||
|  | 	$(am__define_uniq_tagged_files); \ | ||||||
|  | 	shift; \ | ||||||
|  | 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ | ||||||
|  | 	  test -n "$$unique" || unique=$$empty_fix; \ | ||||||
|  | 	  if test $$# -gt 0; then \ | ||||||
|  | 	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||||||
|  | 	      "$$@" $$unique; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||||||
|  | 	      $$unique; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	fi | ||||||
|  | ctags: ctags-recursive | ||||||
|  |  | ||||||
|  | CTAGS: ctags | ||||||
|  | ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | ||||||
|  | 	$(am__define_uniq_tagged_files); \ | ||||||
|  | 	test -z "$(CTAGS_ARGS)$$unique" \ | ||||||
|  | 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ | ||||||
|  | 	     $$unique | ||||||
|  |  | ||||||
|  | GTAGS: | ||||||
|  | 	here=`$(am__cd) $(top_builddir) && pwd` \ | ||||||
|  | 	  && $(am__cd) $(top_srcdir) \ | ||||||
|  | 	  && gtags -i $(GTAGS_ARGS) "$$here" | ||||||
|  | cscope: cscope.files | ||||||
|  | 	test ! -s cscope.files \ | ||||||
|  | 	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) | ||||||
|  | clean-cscope: | ||||||
|  | 	-rm -f cscope.files | ||||||
|  | cscope.files: clean-cscope cscopelist | ||||||
|  | cscopelist: cscopelist-recursive | ||||||
|  |  | ||||||
|  | cscopelist-am: $(am__tagged_files) | ||||||
|  | 	list='$(am__tagged_files)'; \ | ||||||
|  | 	case "$(srcdir)" in \ | ||||||
|  | 	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ | ||||||
|  | 	  *) sdir=$(subdir)/$(srcdir) ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for i in $$list; do \ | ||||||
|  | 	  if test -f "$$i"; then \ | ||||||
|  | 	    echo "$(subdir)/$$i"; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    echo "$$sdir/$$i"; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done >> $(top_builddir)/cscope.files | ||||||
|  |  | ||||||
|  | distclean-tags: | ||||||
|  | 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags | ||||||
|  | 	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files | ||||||
|  |  | ||||||
|  | distdir: $(BUILT_SOURCES) | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) distdir-am | ||||||
|  |  | ||||||
|  | distdir-am: $(DISTFILES) | ||||||
|  | 	$(am__remove_distdir) | ||||||
|  | 	test -d "$(distdir)" || mkdir "$(distdir)" | ||||||
|  | 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	list='$(DISTFILES)'; \ | ||||||
|  | 	  dist_files=`for file in $$list; do echo $$file; done | \ | ||||||
|  | 	  sed -e "s|^$$srcdirstrip/||;t" \ | ||||||
|  | 	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ | ||||||
|  | 	case $$dist_files in \ | ||||||
|  | 	  */*) $(MKDIR_P) `echo "$$dist_files" | \ | ||||||
|  | 			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ | ||||||
|  | 			   sort -u` ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for file in $$dist_files; do \ | ||||||
|  | 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ | ||||||
|  | 	  if test -d $$d/$$file; then \ | ||||||
|  | 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ | ||||||
|  | 	    if test -d "$(distdir)/$$file"; then \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ | ||||||
|  | 	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    test -f "$(distdir)/$$file" \ | ||||||
|  | 	    || cp -p $$d/$$file "$(distdir)/$$file" \ | ||||||
|  | 	    || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done | ||||||
|  | 	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ | ||||||
|  | 	  if test "$$subdir" = .; then :; else \ | ||||||
|  | 	    $(am__make_dryrun) \ | ||||||
|  | 	      || test -d "$(distdir)/$$subdir" \ | ||||||
|  | 	      || $(MKDIR_P) "$(distdir)/$$subdir" \ | ||||||
|  | 	      || exit 1; \ | ||||||
|  | 	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ | ||||||
|  | 	    $(am__relativize); \ | ||||||
|  | 	    new_distdir=$$reldir; \ | ||||||
|  | 	    dir1=$$subdir; dir2="$(top_distdir)"; \ | ||||||
|  | 	    $(am__relativize); \ | ||||||
|  | 	    new_top_distdir=$$reldir; \ | ||||||
|  | 	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ | ||||||
|  | 	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ | ||||||
|  | 	    ($(am__cd) $$subdir && \ | ||||||
|  | 	      $(MAKE) $(AM_MAKEFLAGS) \ | ||||||
|  | 	        top_distdir="$$new_top_distdir" \ | ||||||
|  | 	        distdir="$$new_distdir" \ | ||||||
|  | 		am__remove_distdir=: \ | ||||||
|  | 		am__skip_length_check=: \ | ||||||
|  | 		am__skip_mode_fix=: \ | ||||||
|  | 	        distdir) \ | ||||||
|  | 	      || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done | ||||||
|  | 	-test -n "$(am__skip_mode_fix)" \ | ||||||
|  | 	|| find "$(distdir)" -type d ! -perm -755 \ | ||||||
|  | 		-exec chmod u+rwx,go+rx {} \; -o \ | ||||||
|  | 	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ | ||||||
|  | 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ | ||||||
|  | 	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ | ||||||
|  | 	|| chmod -R a+r "$(distdir)" | ||||||
|  | dist-gzip: distdir | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-bzip2: distdir | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-lzip: distdir | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-xz: distdir | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-tarZ: distdir | ||||||
|  | 	@echo WARNING: "Support for distribution archives compressed with" \ | ||||||
|  | 		       "legacy program 'compress' is deprecated." >&2 | ||||||
|  | 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2 | ||||||
|  | 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-shar: distdir | ||||||
|  | 	@echo WARNING: "Support for shar distribution archives is" \ | ||||||
|  | 	               "deprecated." >&2 | ||||||
|  | 	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2 | ||||||
|  | 	shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist-zip: distdir | ||||||
|  | 	-rm -f $(distdir).zip | ||||||
|  | 	zip -rq $(distdir).zip $(distdir) | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | dist dist-all: | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  |  | ||||||
|  | # This target untars the dist file and tries a VPATH configuration.  Then | ||||||
|  | # it guarantees that the distribution is self-contained by making another | ||||||
|  | # tarfile. | ||||||
|  | distcheck: dist | ||||||
|  | 	case '$(DIST_ARCHIVES)' in \ | ||||||
|  | 	*.tar.gz*) \ | ||||||
|  | 	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ | ||||||
|  | 	*.tar.bz2*) \ | ||||||
|  | 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ | ||||||
|  | 	*.tar.lz*) \ | ||||||
|  | 	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ | ||||||
|  | 	*.tar.xz*) \ | ||||||
|  | 	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\ | ||||||
|  | 	*.tar.Z*) \ | ||||||
|  | 	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ | ||||||
|  | 	*.shar.gz*) \ | ||||||
|  | 	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ | ||||||
|  | 	*.zip*) \ | ||||||
|  | 	  unzip $(distdir).zip ;;\ | ||||||
|  | 	esac | ||||||
|  | 	chmod -R a-w $(distdir) | ||||||
|  | 	chmod u+w $(distdir) | ||||||
|  | 	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst | ||||||
|  | 	chmod a-w $(distdir) | ||||||
|  | 	test -d $(distdir)/_build || exit 0; \ | ||||||
|  | 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ | ||||||
|  | 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ | ||||||
|  | 	  && am__cwd=`pwd` \ | ||||||
|  | 	  && $(am__cd) $(distdir)/_build/sub \ | ||||||
|  | 	  && ../../configure \ | ||||||
|  | 	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \ | ||||||
|  | 	    $(DISTCHECK_CONFIGURE_FLAGS) \ | ||||||
|  | 	    --srcdir=../.. --prefix="$$dc_install_base" \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) check \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) install \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ | ||||||
|  | 	        distuninstallcheck \ | ||||||
|  | 	  && chmod -R a-w "$$dc_install_base" \ | ||||||
|  | 	  && ({ \ | ||||||
|  | 	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ | ||||||
|  | 	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ | ||||||
|  | 	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ | ||||||
|  | 	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ | ||||||
|  | 	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ | ||||||
|  | 	      } || { rm -rf "$$dc_destdir"; exit 1; }) \ | ||||||
|  | 	  && rm -rf "$$dc_destdir" \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) dist \ | ||||||
|  | 	  && rm -rf $(DIST_ARCHIVES) \ | ||||||
|  | 	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ | ||||||
|  | 	  && cd "$$am__cwd" \ | ||||||
|  | 	  || exit 1 | ||||||
|  | 	$(am__post_remove_distdir) | ||||||
|  | 	@(echo "$(distdir) archives ready for distribution: "; \ | ||||||
|  | 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ | ||||||
|  | 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' | ||||||
|  | distuninstallcheck: | ||||||
|  | 	@test -n '$(distuninstallcheck_dir)' || { \ | ||||||
|  | 	  echo 'ERROR: trying to run $@ with an empty' \ | ||||||
|  | 	       '$$(distuninstallcheck_dir)' >&2; \ | ||||||
|  | 	  exit 1; \ | ||||||
|  | 	}; \ | ||||||
|  | 	$(am__cd) '$(distuninstallcheck_dir)' || { \ | ||||||
|  | 	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ | ||||||
|  | 	  exit 1; \ | ||||||
|  | 	}; \ | ||||||
|  | 	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ | ||||||
|  | 	   || { echo "ERROR: files left after uninstall:" ; \ | ||||||
|  | 	        if test -n "$(DESTDIR)"; then \ | ||||||
|  | 	          echo "  (check DESTDIR support)"; \ | ||||||
|  | 	        fi ; \ | ||||||
|  | 	        $(distuninstallcheck_listfiles) ; \ | ||||||
|  | 	        exit 1; } >&2 | ||||||
|  | distcleancheck: distclean | ||||||
|  | 	@if test '$(srcdir)' = . ; then \ | ||||||
|  | 	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \ | ||||||
|  | 	  exit 1 ; \ | ||||||
|  | 	fi | ||||||
|  | 	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ | ||||||
|  | 	  || { echo "ERROR: files left in build directory after distclean:" ; \ | ||||||
|  | 	       $(distcleancheck_listfiles) ; \ | ||||||
|  | 	       exit 1; } >&2 | ||||||
|  | check-am: all-am | ||||||
|  | check: check-recursive | ||||||
|  | all-am: Makefile config.h | ||||||
|  | installdirs: installdirs-recursive | ||||||
|  | installdirs-am: | ||||||
|  | install: install-recursive | ||||||
|  | install-exec: install-exec-recursive | ||||||
|  | install-data: install-data-recursive | ||||||
|  | uninstall: uninstall-recursive | ||||||
|  |  | ||||||
|  | install-am: all-am | ||||||
|  | 	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||||||
|  |  | ||||||
|  | installcheck: installcheck-recursive | ||||||
|  | install-strip: | ||||||
|  | 	if test -z '$(STRIP)'; then \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	      install; \ | ||||||
|  | 	else \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ | ||||||
|  | 	fi | ||||||
|  | mostlyclean-generic: | ||||||
|  |  | ||||||
|  | clean-generic: | ||||||
|  | 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) | ||||||
|  |  | ||||||
|  | distclean-generic: | ||||||
|  | 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | ||||||
|  | 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) | ||||||
|  |  | ||||||
|  | maintainer-clean-generic: | ||||||
|  | 	@echo "This command is intended for maintainers to use" | ||||||
|  | 	@echo "it deletes files that may require special tools to rebuild." | ||||||
|  | clean: clean-recursive | ||||||
|  |  | ||||||
|  | clean-am: clean-generic mostlyclean-am | ||||||
|  |  | ||||||
|  | distclean: distclean-recursive | ||||||
|  | 	-rm -f $(am__CONFIG_DISTCLEAN_FILES) | ||||||
|  | 	-rm -f Makefile | ||||||
|  | distclean-am: clean-am distclean-generic distclean-hdr distclean-tags | ||||||
|  |  | ||||||
|  | dvi: dvi-recursive | ||||||
|  |  | ||||||
|  | dvi-am: | ||||||
|  |  | ||||||
|  | html: html-recursive | ||||||
|  |  | ||||||
|  | html-am: | ||||||
|  |  | ||||||
|  | info: info-recursive | ||||||
|  |  | ||||||
|  | info-am: | ||||||
|  |  | ||||||
|  | install-data-am: | ||||||
|  |  | ||||||
|  | install-dvi: install-dvi-recursive | ||||||
|  |  | ||||||
|  | install-dvi-am: | ||||||
|  |  | ||||||
|  | install-exec-am: | ||||||
|  |  | ||||||
|  | install-html: install-html-recursive | ||||||
|  |  | ||||||
|  | install-html-am: | ||||||
|  |  | ||||||
|  | install-info: install-info-recursive | ||||||
|  |  | ||||||
|  | install-info-am: | ||||||
|  |  | ||||||
|  | install-man: | ||||||
|  |  | ||||||
|  | install-pdf: install-pdf-recursive | ||||||
|  |  | ||||||
|  | install-pdf-am: | ||||||
|  |  | ||||||
|  | install-ps: install-ps-recursive | ||||||
|  |  | ||||||
|  | install-ps-am: | ||||||
|  |  | ||||||
|  | installcheck-am: | ||||||
|  |  | ||||||
|  | maintainer-clean: maintainer-clean-recursive | ||||||
|  | 	-rm -f $(am__CONFIG_DISTCLEAN_FILES) | ||||||
|  | 	-rm -rf $(top_srcdir)/autom4te.cache | ||||||
|  | 	-rm -f Makefile | ||||||
|  | maintainer-clean-am: distclean-am maintainer-clean-generic | ||||||
|  |  | ||||||
|  | mostlyclean: mostlyclean-recursive | ||||||
|  |  | ||||||
|  | mostlyclean-am: mostlyclean-generic | ||||||
|  |  | ||||||
|  | pdf: pdf-recursive | ||||||
|  |  | ||||||
|  | pdf-am: | ||||||
|  |  | ||||||
|  | ps: ps-recursive | ||||||
|  |  | ||||||
|  | ps-am: | ||||||
|  |  | ||||||
|  | uninstall-am: | ||||||
|  |  | ||||||
|  | .MAKE: $(am__recursive_targets) all install-am install-strip | ||||||
|  |  | ||||||
|  | .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ | ||||||
|  | 	am--refresh check check-am clean clean-cscope clean-generic \ | ||||||
|  | 	cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ | ||||||
|  | 	dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ | ||||||
|  | 	distcheck distclean distclean-generic distclean-hdr \ | ||||||
|  | 	distclean-tags distcleancheck distdir distuninstallcheck dvi \ | ||||||
|  | 	dvi-am html html-am info info-am install install-am \ | ||||||
|  | 	install-data install-data-am install-dvi install-dvi-am \ | ||||||
|  | 	install-exec install-exec-am install-html install-html-am \ | ||||||
|  | 	install-info install-info-am install-man install-pdf \ | ||||||
|  | 	install-pdf-am install-ps install-ps-am install-strip \ | ||||||
|  | 	installcheck installcheck-am installdirs installdirs-am \ | ||||||
|  | 	maintainer-clean maintainer-clean-generic mostlyclean \ | ||||||
|  | 	mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ | ||||||
|  | 	uninstall-am | ||||||
|  |  | ||||||
|  | .PRECIOUS: Makefile | ||||||
|  |  | ||||||
|  |  | ||||||
|  | upload: | ||||||
|  | 	rsync -avz @PACKAGE_TARNAME@-@VERSION@.tar.gz doc/html/ www.airspayce.com:public_html/mikem/@PACKAGE_NAME@ | ||||||
|  |  | ||||||
|  | # Tell versions [3.59,3.63) of GNU make to not export all variables. | ||||||
|  | # Otherwise a system limit (for SysV at least) may be exceeded. | ||||||
|  | .NOEXPORT: | ||||||
| @@ -0,0 +1,5 @@ | |||||||
|  | This is a C library for Raspberry Pi (RPi). It provides access to  | ||||||
|  | GPIO and other IO functions on the Broadcom BCM 2835 chip. | ||||||
|  | allowing access to the  | ||||||
|  | 26 pin ISE plug on the RPi board so you can control and interface with various | ||||||
|  | external devices. | ||||||
							
								
								
									
										1201
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/aclocal.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1201
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/aclocal.m4
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										348
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/compile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										348
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/compile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,348 @@ | |||||||
|  | #! /bin/sh | ||||||
|  | # Wrapper for compilers which do not understand '-c -o'. | ||||||
|  |  | ||||||
|  | scriptversion=2018-03-07.03; # UTC | ||||||
|  |  | ||||||
|  | # Copyright (C) 1999-2018 Free Software Foundation, Inc. | ||||||
|  | # Written by Tom Tromey <tromey@cygnus.com>. | ||||||
|  | # | ||||||
|  | # This program is free software; you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation; either version 2, or (at your option) | ||||||
|  | # any later version. | ||||||
|  | # | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
|  | # As a special exception to the GNU General Public License, if you | ||||||
|  | # distribute this file as part of a program that contains a | ||||||
|  | # configuration script generated by Autoconf, you may include it under | ||||||
|  | # the same distribution terms that you use for the rest of that program. | ||||||
|  |  | ||||||
|  | # This file is maintained in Automake, please report | ||||||
|  | # bugs to <bug-automake@gnu.org> or send patches to | ||||||
|  | # <automake-patches@gnu.org>. | ||||||
|  |  | ||||||
|  | nl=' | ||||||
|  | ' | ||||||
|  |  | ||||||
|  | # We need space, tab and new line, in precisely that order.  Quoting is | ||||||
|  | # there to prevent tools from complaining about whitespace usage. | ||||||
|  | IFS=" ""	$nl" | ||||||
|  |  | ||||||
|  | file_conv= | ||||||
|  |  | ||||||
|  | # func_file_conv build_file lazy | ||||||
|  | # Convert a $build file to $host form and store it in $file | ||||||
|  | # Currently only supports Windows hosts. If the determined conversion | ||||||
|  | # type is listed in (the comma separated) LAZY, no conversion will | ||||||
|  | # take place. | ||||||
|  | func_file_conv () | ||||||
|  | { | ||||||
|  |   file=$1 | ||||||
|  |   case $file in | ||||||
|  |     / | /[!/]*) # absolute file, and not a UNC file | ||||||
|  |       if test -z "$file_conv"; then | ||||||
|  | 	# lazily determine how to convert abs files | ||||||
|  | 	case `uname -s` in | ||||||
|  | 	  MINGW*) | ||||||
|  | 	    file_conv=mingw | ||||||
|  | 	    ;; | ||||||
|  | 	  CYGWIN*) | ||||||
|  | 	    file_conv=cygwin | ||||||
|  | 	    ;; | ||||||
|  | 	  *) | ||||||
|  | 	    file_conv=wine | ||||||
|  | 	    ;; | ||||||
|  | 	esac | ||||||
|  |       fi | ||||||
|  |       case $file_conv/,$2, in | ||||||
|  | 	*,$file_conv,*) | ||||||
|  | 	  ;; | ||||||
|  | 	mingw/*) | ||||||
|  | 	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` | ||||||
|  | 	  ;; | ||||||
|  | 	cygwin/*) | ||||||
|  | 	  file=`cygpath -m "$file" || echo "$file"` | ||||||
|  | 	  ;; | ||||||
|  | 	wine/*) | ||||||
|  | 	  file=`winepath -w "$file" || echo "$file"` | ||||||
|  | 	  ;; | ||||||
|  |       esac | ||||||
|  |       ;; | ||||||
|  |   esac | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # func_cl_dashL linkdir | ||||||
|  | # Make cl look for libraries in LINKDIR | ||||||
|  | func_cl_dashL () | ||||||
|  | { | ||||||
|  |   func_file_conv "$1" | ||||||
|  |   if test -z "$lib_path"; then | ||||||
|  |     lib_path=$file | ||||||
|  |   else | ||||||
|  |     lib_path="$lib_path;$file" | ||||||
|  |   fi | ||||||
|  |   linker_opts="$linker_opts -LIBPATH:$file" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # func_cl_dashl library | ||||||
|  | # Do a library search-path lookup for cl | ||||||
|  | func_cl_dashl () | ||||||
|  | { | ||||||
|  |   lib=$1 | ||||||
|  |   found=no | ||||||
|  |   save_IFS=$IFS | ||||||
|  |   IFS=';' | ||||||
|  |   for dir in $lib_path $LIB | ||||||
|  |   do | ||||||
|  |     IFS=$save_IFS | ||||||
|  |     if $shared && test -f "$dir/$lib.dll.lib"; then | ||||||
|  |       found=yes | ||||||
|  |       lib=$dir/$lib.dll.lib | ||||||
|  |       break | ||||||
|  |     fi | ||||||
|  |     if test -f "$dir/$lib.lib"; then | ||||||
|  |       found=yes | ||||||
|  |       lib=$dir/$lib.lib | ||||||
|  |       break | ||||||
|  |     fi | ||||||
|  |     if test -f "$dir/lib$lib.a"; then | ||||||
|  |       found=yes | ||||||
|  |       lib=$dir/lib$lib.a | ||||||
|  |       break | ||||||
|  |     fi | ||||||
|  |   done | ||||||
|  |   IFS=$save_IFS | ||||||
|  |  | ||||||
|  |   if test "$found" != yes; then | ||||||
|  |     lib=$lib.lib | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # func_cl_wrapper cl arg... | ||||||
|  | # Adjust compile command to suit cl | ||||||
|  | func_cl_wrapper () | ||||||
|  | { | ||||||
|  |   # Assume a capable shell | ||||||
|  |   lib_path= | ||||||
|  |   shared=: | ||||||
|  |   linker_opts= | ||||||
|  |   for arg | ||||||
|  |   do | ||||||
|  |     if test -n "$eat"; then | ||||||
|  |       eat= | ||||||
|  |     else | ||||||
|  |       case $1 in | ||||||
|  | 	-o) | ||||||
|  | 	  # configure might choose to run compile as 'compile cc -o foo foo.c'. | ||||||
|  | 	  eat=1 | ||||||
|  | 	  case $2 in | ||||||
|  | 	    *.o | *.[oO][bB][jJ]) | ||||||
|  | 	      func_file_conv "$2" | ||||||
|  | 	      set x "$@" -Fo"$file" | ||||||
|  | 	      shift | ||||||
|  | 	      ;; | ||||||
|  | 	    *) | ||||||
|  | 	      func_file_conv "$2" | ||||||
|  | 	      set x "$@" -Fe"$file" | ||||||
|  | 	      shift | ||||||
|  | 	      ;; | ||||||
|  | 	  esac | ||||||
|  | 	  ;; | ||||||
|  | 	-I) | ||||||
|  | 	  eat=1 | ||||||
|  | 	  func_file_conv "$2" mingw | ||||||
|  | 	  set x "$@" -I"$file" | ||||||
|  | 	  shift | ||||||
|  | 	  ;; | ||||||
|  | 	-I*) | ||||||
|  | 	  func_file_conv "${1#-I}" mingw | ||||||
|  | 	  set x "$@" -I"$file" | ||||||
|  | 	  shift | ||||||
|  | 	  ;; | ||||||
|  | 	-l) | ||||||
|  | 	  eat=1 | ||||||
|  | 	  func_cl_dashl "$2" | ||||||
|  | 	  set x "$@" "$lib" | ||||||
|  | 	  shift | ||||||
|  | 	  ;; | ||||||
|  | 	-l*) | ||||||
|  | 	  func_cl_dashl "${1#-l}" | ||||||
|  | 	  set x "$@" "$lib" | ||||||
|  | 	  shift | ||||||
|  | 	  ;; | ||||||
|  | 	-L) | ||||||
|  | 	  eat=1 | ||||||
|  | 	  func_cl_dashL "$2" | ||||||
|  | 	  ;; | ||||||
|  | 	-L*) | ||||||
|  | 	  func_cl_dashL "${1#-L}" | ||||||
|  | 	  ;; | ||||||
|  | 	-static) | ||||||
|  | 	  shared=false | ||||||
|  | 	  ;; | ||||||
|  | 	-Wl,*) | ||||||
|  | 	  arg=${1#-Wl,} | ||||||
|  | 	  save_ifs="$IFS"; IFS=',' | ||||||
|  | 	  for flag in $arg; do | ||||||
|  | 	    IFS="$save_ifs" | ||||||
|  | 	    linker_opts="$linker_opts $flag" | ||||||
|  | 	  done | ||||||
|  | 	  IFS="$save_ifs" | ||||||
|  | 	  ;; | ||||||
|  | 	-Xlinker) | ||||||
|  | 	  eat=1 | ||||||
|  | 	  linker_opts="$linker_opts $2" | ||||||
|  | 	  ;; | ||||||
|  | 	-*) | ||||||
|  | 	  set x "$@" "$1" | ||||||
|  | 	  shift | ||||||
|  | 	  ;; | ||||||
|  | 	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++) | ||||||
|  | 	  func_file_conv "$1" | ||||||
|  | 	  set x "$@" -Tp"$file" | ||||||
|  | 	  shift | ||||||
|  | 	  ;; | ||||||
|  | 	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) | ||||||
|  | 	  func_file_conv "$1" mingw | ||||||
|  | 	  set x "$@" "$file" | ||||||
|  | 	  shift | ||||||
|  | 	  ;; | ||||||
|  | 	*) | ||||||
|  | 	  set x "$@" "$1" | ||||||
|  | 	  shift | ||||||
|  | 	  ;; | ||||||
|  |       esac | ||||||
|  |     fi | ||||||
|  |     shift | ||||||
|  |   done | ||||||
|  |   if test -n "$linker_opts"; then | ||||||
|  |     linker_opts="-link$linker_opts" | ||||||
|  |   fi | ||||||
|  |   exec "$@" $linker_opts | ||||||
|  |   exit 1 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | eat= | ||||||
|  |  | ||||||
|  | case $1 in | ||||||
|  |   '') | ||||||
|  |      echo "$0: No command.  Try '$0 --help' for more information." 1>&2 | ||||||
|  |      exit 1; | ||||||
|  |      ;; | ||||||
|  |   -h | --h*) | ||||||
|  |     cat <<\EOF | ||||||
|  | Usage: compile [--help] [--version] PROGRAM [ARGS] | ||||||
|  |  | ||||||
|  | Wrapper for compilers which do not understand '-c -o'. | ||||||
|  | Remove '-o dest.o' from ARGS, run PROGRAM with the remaining | ||||||
|  | arguments, and rename the output as expected. | ||||||
|  |  | ||||||
|  | If you are trying to build a whole package this is not the | ||||||
|  | right script to run: please start by reading the file 'INSTALL'. | ||||||
|  |  | ||||||
|  | Report bugs to <bug-automake@gnu.org>. | ||||||
|  | EOF | ||||||
|  |     exit $? | ||||||
|  |     ;; | ||||||
|  |   -v | --v*) | ||||||
|  |     echo "compile $scriptversion" | ||||||
|  |     exit $? | ||||||
|  |     ;; | ||||||
|  |   cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ | ||||||
|  |   icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) | ||||||
|  |     func_cl_wrapper "$@"      # Doesn't return... | ||||||
|  |     ;; | ||||||
|  | esac | ||||||
|  |  | ||||||
|  | ofile= | ||||||
|  | cfile= | ||||||
|  |  | ||||||
|  | for arg | ||||||
|  | do | ||||||
|  |   if test -n "$eat"; then | ||||||
|  |     eat= | ||||||
|  |   else | ||||||
|  |     case $1 in | ||||||
|  |       -o) | ||||||
|  | 	# configure might choose to run compile as 'compile cc -o foo foo.c'. | ||||||
|  | 	# So we strip '-o arg' only if arg is an object. | ||||||
|  | 	eat=1 | ||||||
|  | 	case $2 in | ||||||
|  | 	  *.o | *.obj) | ||||||
|  | 	    ofile=$2 | ||||||
|  | 	    ;; | ||||||
|  | 	  *) | ||||||
|  | 	    set x "$@" -o "$2" | ||||||
|  | 	    shift | ||||||
|  | 	    ;; | ||||||
|  | 	esac | ||||||
|  | 	;; | ||||||
|  |       *.c) | ||||||
|  | 	cfile=$1 | ||||||
|  | 	set x "$@" "$1" | ||||||
|  | 	shift | ||||||
|  | 	;; | ||||||
|  |       *) | ||||||
|  | 	set x "$@" "$1" | ||||||
|  | 	shift | ||||||
|  | 	;; | ||||||
|  |     esac | ||||||
|  |   fi | ||||||
|  |   shift | ||||||
|  | done | ||||||
|  |  | ||||||
|  | if test -z "$ofile" || test -z "$cfile"; then | ||||||
|  |   # If no '-o' option was seen then we might have been invoked from a | ||||||
|  |   # pattern rule where we don't need one.  That is ok -- this is a | ||||||
|  |   # normal compilation that the losing compiler can handle.  If no | ||||||
|  |   # '.c' file was seen then we are probably linking.  That is also | ||||||
|  |   # ok. | ||||||
|  |   exec "$@" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | # Name of file we expect compiler to create. | ||||||
|  | cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` | ||||||
|  |  | ||||||
|  | # Create the lock directory. | ||||||
|  | # Note: use '[/\\:.-]' here to ensure that we don't use the same name | ||||||
|  | # that we are using for the .o file.  Also, base the name on the expected | ||||||
|  | # object file name, since that is what matters with a parallel build. | ||||||
|  | lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d | ||||||
|  | while true; do | ||||||
|  |   if mkdir "$lockdir" >/dev/null 2>&1; then | ||||||
|  |     break | ||||||
|  |   fi | ||||||
|  |   sleep 1 | ||||||
|  | done | ||||||
|  | # FIXME: race condition here if user kills between mkdir and trap. | ||||||
|  | trap "rmdir '$lockdir'; exit 1" 1 2 15 | ||||||
|  |  | ||||||
|  | # Run the compile. | ||||||
|  | "$@" | ||||||
|  | ret=$? | ||||||
|  |  | ||||||
|  | if test -f "$cofile"; then | ||||||
|  |   test "$cofile" = "$ofile" || mv "$cofile" "$ofile" | ||||||
|  | elif test -f "${cofile}bj"; then | ||||||
|  |   test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | rmdir "$lockdir" | ||||||
|  | exit $ret | ||||||
|  |  | ||||||
|  | # Local Variables: | ||||||
|  | # mode: shell-script | ||||||
|  | # sh-indentation: 2 | ||||||
|  | # eval: (add-hook 'before-save-hook 'time-stamp) | ||||||
|  | # time-stamp-start: "scriptversion=" | ||||||
|  | # time-stamp-format: "%:y-%02m-%02d.%02H" | ||||||
|  | # time-stamp-time-zone: "UTC0" | ||||||
|  | # time-stamp-end: "; # UTC" | ||||||
|  | # End: | ||||||
							
								
								
									
										1511
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.guess
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1511
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.guess
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										29
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | |||||||
|  | /* config.h.  Generated from config.h.in by configure.  */ | ||||||
|  | /* config.h.in.  Generated from configure.ac by autoheader.  */ | ||||||
|  |  | ||||||
|  | /* Define to 1 if you have the `rt' library (-lrt). */ | ||||||
|  | #define HAVE_LIBRT 1 | ||||||
|  |  | ||||||
|  | /* Name of package */ | ||||||
|  | #define PACKAGE "bcm2835" | ||||||
|  |  | ||||||
|  | /* Define to the address where bug reports for this package should be sent. */ | ||||||
|  | #define PACKAGE_BUGREPORT "mikem@airspayce.com" | ||||||
|  |  | ||||||
|  | /* Define to the full name of this package. */ | ||||||
|  | #define PACKAGE_NAME "bcm2835" | ||||||
|  |  | ||||||
|  | /* Define to the full name and version of this package. */ | ||||||
|  | #define PACKAGE_STRING "bcm2835 1.58" | ||||||
|  |  | ||||||
|  | /* Define to the one symbol short name of this package. */ | ||||||
|  | #define PACKAGE_TARNAME "bcm2835" | ||||||
|  |  | ||||||
|  | /* Define to the home page for this package. */ | ||||||
|  | #define PACKAGE_URL "" | ||||||
|  |  | ||||||
|  | /* Define to the version of this package. */ | ||||||
|  | #define PACKAGE_VERSION "1.58" | ||||||
|  |  | ||||||
|  | /* Version number of package */ | ||||||
|  | #define VERSION "1.58" | ||||||
| @@ -0,0 +1,28 @@ | |||||||
|  | /* config.h.in.  Generated from configure.ac by autoheader.  */ | ||||||
|  |  | ||||||
|  | /* Define to 1 if you have the `rt' library (-lrt). */ | ||||||
|  | #undef HAVE_LIBRT | ||||||
|  |  | ||||||
|  | /* Name of package */ | ||||||
|  | #undef PACKAGE | ||||||
|  |  | ||||||
|  | /* Define to the address where bug reports for this package should be sent. */ | ||||||
|  | #undef PACKAGE_BUGREPORT | ||||||
|  |  | ||||||
|  | /* Define to the full name of this package. */ | ||||||
|  | #undef PACKAGE_NAME | ||||||
|  |  | ||||||
|  | /* Define to the full name and version of this package. */ | ||||||
|  | #undef PACKAGE_STRING | ||||||
|  |  | ||||||
|  | /* Define to the one symbol short name of this package. */ | ||||||
|  | #undef PACKAGE_TARNAME | ||||||
|  |  | ||||||
|  | /* Define to the home page for this package. */ | ||||||
|  | #undef PACKAGE_URL | ||||||
|  |  | ||||||
|  | /* Define to the version of this package. */ | ||||||
|  | #undef PACKAGE_VERSION | ||||||
|  |  | ||||||
|  | /* Version number of package */ | ||||||
|  | #undef VERSION | ||||||
							
								
								
									
										357
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.log
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										357
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.log
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,357 @@ | |||||||
|  | This file contains any messages produced by compilers while | ||||||
|  | running configure, to aid debugging if configure makes a mistake. | ||||||
|  |  | ||||||
|  | It was created by bcm2835 configure 1.58, which was | ||||||
|  | generated by GNU Autoconf 2.69.  Invocation command line was | ||||||
|  |  | ||||||
|  |   $ ./configure  | ||||||
|  |  | ||||||
|  | ## --------- ## | ||||||
|  | ## Platform. ## | ||||||
|  | ## --------- ## | ||||||
|  |  | ||||||
|  | hostname = inkydev | ||||||
|  | uname -m = armv7l | ||||||
|  | uname -r = 4.19.97-v7l+ | ||||||
|  | uname -s = Linux | ||||||
|  | uname -v = #1294 SMP Thu Jan 30 13:21:14 GMT 2020 | ||||||
|  |  | ||||||
|  | /usr/bin/uname -p = unknown | ||||||
|  | /bin/uname -X     = unknown | ||||||
|  |  | ||||||
|  | /bin/arch              = unknown | ||||||
|  | /usr/bin/arch -k       = unknown | ||||||
|  | /usr/convex/getsysinfo = unknown | ||||||
|  | /usr/bin/hostinfo      = unknown | ||||||
|  | /bin/machine           = unknown | ||||||
|  | /usr/bin/oslevel       = unknown | ||||||
|  | /bin/universe          = unknown | ||||||
|  |  | ||||||
|  | PATH: /home/pi/.local/bin | ||||||
|  | PATH: /usr/local/sbin | ||||||
|  | PATH: /usr/local/bin | ||||||
|  | PATH: /usr/sbin | ||||||
|  | PATH: /usr/bin | ||||||
|  | PATH: /sbin | ||||||
|  | PATH: /bin | ||||||
|  | PATH: /usr/local/games | ||||||
|  | PATH: /usr/games | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## ----------- ## | ||||||
|  | ## Core tests. ## | ||||||
|  | ## ----------- ## | ||||||
|  |  | ||||||
|  | configure:1892: checking for a BSD-compatible install | ||||||
|  | configure:1960: result: /usr/bin/install -c | ||||||
|  | configure:1971: checking whether build environment is sane | ||||||
|  | configure:2026: result: yes | ||||||
|  | configure:2175: checking for a thread-safe mkdir -p | ||||||
|  | configure:2214: result: /bin/mkdir -p | ||||||
|  | configure:2221: checking for gawk | ||||||
|  | configure:2251: result: no | ||||||
|  | configure:2221: checking for mawk | ||||||
|  | configure:2237: found /usr/bin/mawk | ||||||
|  | configure:2248: result: mawk | ||||||
|  | configure:2259: checking whether make sets $(MAKE) | ||||||
|  | configure:2281: result: yes | ||||||
|  | configure:2310: checking whether make supports nested variables | ||||||
|  | configure:2327: result: yes | ||||||
|  | configure:2457: checking whether make supports the include directive | ||||||
|  | configure:2472: make -f confmf.GNU && cat confinc.out | ||||||
|  | this is the am__doit target | ||||||
|  | configure:2475: $? = 0 | ||||||
|  | configure:2494: result: yes (GNU style) | ||||||
|  | configure:2564: checking for gcc | ||||||
|  | configure:2580: found /usr/bin/gcc | ||||||
|  | configure:2591: result: gcc | ||||||
|  | configure:2820: checking for C compiler version | ||||||
|  | configure:2829: gcc --version >&5 | ||||||
|  | gcc (Raspbian 8.3.0-6+rpi1) 8.3.0 | ||||||
|  | Copyright (C) 2018 Free Software Foundation, Inc. | ||||||
|  | This is free software; see the source for copying conditions.  There is NO | ||||||
|  | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  | configure:2840: $? = 0 | ||||||
|  | configure:2829: gcc -v >&5 | ||||||
|  | Using built-in specs. | ||||||
|  | COLLECT_GCC=gcc | ||||||
|  | COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper | ||||||
|  | Target: arm-linux-gnueabihf | ||||||
|  | Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf | ||||||
|  | Thread model: posix | ||||||
|  | gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)  | ||||||
|  | configure:2840: $? = 0 | ||||||
|  | configure:2829: gcc -V >&5 | ||||||
|  | gcc: error: unrecognized command line option '-V' | ||||||
|  | gcc: fatal error: no input files | ||||||
|  | compilation terminated. | ||||||
|  | configure:2840: $? = 1 | ||||||
|  | configure:2829: gcc -qversion >&5 | ||||||
|  | gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? | ||||||
|  | gcc: fatal error: no input files | ||||||
|  | compilation terminated. | ||||||
|  | configure:2840: $? = 1 | ||||||
|  | configure:2860: checking whether the C compiler works | ||||||
|  | configure:2882: gcc    conftest.c  >&5 | ||||||
|  | configure:2886: $? = 0 | ||||||
|  | configure:2934: result: yes | ||||||
|  | configure:2937: checking for C compiler default output file name | ||||||
|  | configure:2939: result: a.out | ||||||
|  | configure:2945: checking for suffix of executables | ||||||
|  | configure:2952: gcc -o conftest    conftest.c  >&5 | ||||||
|  | configure:2956: $? = 0 | ||||||
|  | configure:2978: result:  | ||||||
|  | configure:3000: checking whether we are cross compiling | ||||||
|  | configure:3008: gcc -o conftest    conftest.c  >&5 | ||||||
|  | configure:3012: $? = 0 | ||||||
|  | configure:3019: ./conftest | ||||||
|  | configure:3023: $? = 0 | ||||||
|  | configure:3011: result: no | ||||||
|  | configure:3016: checking for suffix of object files | ||||||
|  | configure:3038: gcc -c   conftest.c >&5 | ||||||
|  | configure:3042: $? = 0 | ||||||
|  | configure:3063: result: o | ||||||
|  | configure:3067: checking whether we are using the GNU C compiler | ||||||
|  | configure:3086: gcc -c   conftest.c >&5 | ||||||
|  | configure:3086: $? = 0 | ||||||
|  | configure:3095: result: yes | ||||||
|  | configure:3104: checking whether gcc accepts -g | ||||||
|  | configure:3124: gcc -c -g  conftest.c >&5 | ||||||
|  | configure:3124: $? = 0 | ||||||
|  | configure:3165: result: yes | ||||||
|  | configure:3182: checking for gcc option to accept ISO C89 | ||||||
|  | configure:3245: gcc  -c -g -O2  conftest.c >&5 | ||||||
|  | configure:3245: $? = 0 | ||||||
|  | configure:3258: result: none needed | ||||||
|  | configure:3283: checking whether gcc understands -c and -o together | ||||||
|  | configure:3305: gcc -c conftest.c -o conftest2.o | ||||||
|  | configure:3308: $? = 0 | ||||||
|  | configure:3305: gcc -c conftest.c -o conftest2.o | ||||||
|  | configure:3308: $? = 0 | ||||||
|  | configure:3320: result: yes | ||||||
|  | configure:3339: checking dependency style of gcc | ||||||
|  | configure:3450: result: gcc3 | ||||||
|  | configure:3466: checking for clock_gettime in -lrt | ||||||
|  | configure:3491: gcc -o conftest -g -O2   conftest.c -lrt   >&5 | ||||||
|  | configure:3491: $? = 0 | ||||||
|  | configure:3500: result: yes | ||||||
|  | configure:3515: checking for doxygen | ||||||
|  | configure:3545: result: no | ||||||
|  | configure:3554: WARNING: Doxygen not found - continuing without Doxygen support | ||||||
|  | configure:3600: checking for ranlib | ||||||
|  | configure:3616: found /usr/bin/ranlib | ||||||
|  | configure:3627: result: ranlib | ||||||
|  | configure:3697: checking for gcc | ||||||
|  | configure:3724: result: gcc | ||||||
|  | configure:3953: checking for C compiler version | ||||||
|  | configure:3962: gcc --version >&5 | ||||||
|  | gcc (Raspbian 8.3.0-6+rpi1) 8.3.0 | ||||||
|  | Copyright (C) 2018 Free Software Foundation, Inc. | ||||||
|  | This is free software; see the source for copying conditions.  There is NO | ||||||
|  | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  | configure:3973: $? = 0 | ||||||
|  | configure:3962: gcc -v >&5 | ||||||
|  | Using built-in specs. | ||||||
|  | COLLECT_GCC=gcc | ||||||
|  | COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/8/lto-wrapper | ||||||
|  | Target: arm-linux-gnueabihf | ||||||
|  | Configured with: ../src/configure -v --with-pkgversion='Raspbian 8.3.0-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf | ||||||
|  | Thread model: posix | ||||||
|  | gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)  | ||||||
|  | configure:3973: $? = 0 | ||||||
|  | configure:3962: gcc -V >&5 | ||||||
|  | gcc: error: unrecognized command line option '-V' | ||||||
|  | gcc: fatal error: no input files | ||||||
|  | compilation terminated. | ||||||
|  | configure:3973: $? = 1 | ||||||
|  | configure:3962: gcc -qversion >&5 | ||||||
|  | gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? | ||||||
|  | gcc: fatal error: no input files | ||||||
|  | compilation terminated. | ||||||
|  | configure:3973: $? = 1 | ||||||
|  | configure:3977: checking whether we are using the GNU C compiler | ||||||
|  | configure:4005: result: yes | ||||||
|  | configure:4014: checking whether gcc accepts -g | ||||||
|  | configure:4075: result: yes | ||||||
|  | configure:4092: checking for gcc option to accept ISO C89 | ||||||
|  | configure:4168: result: none needed | ||||||
|  | configure:4193: checking whether gcc understands -c and -o together | ||||||
|  | configure:4230: result: yes | ||||||
|  | configure:4249: checking dependency style of gcc | ||||||
|  | configure:4360: result: gcc3 | ||||||
|  | configure:4490: checking that generated files are newer than configure | ||||||
|  | configure:4496: result: done | ||||||
|  | configure:4527: creating ./config.status | ||||||
|  |  | ||||||
|  | ## ---------------------- ## | ||||||
|  | ## Running config.status. ## | ||||||
|  | ## ---------------------- ## | ||||||
|  |  | ||||||
|  | This file was extended by bcm2835 config.status 1.58, which was | ||||||
|  | generated by GNU Autoconf 2.69.  Invocation command line was | ||||||
|  |  | ||||||
|  |   CONFIG_FILES    =  | ||||||
|  |   CONFIG_HEADERS  =  | ||||||
|  |   CONFIG_LINKS    =  | ||||||
|  |   CONFIG_COMMANDS =  | ||||||
|  |   $ ./config.status  | ||||||
|  |  | ||||||
|  | on inkydev | ||||||
|  |  | ||||||
|  | config.status:844: creating Makefile | ||||||
|  | config.status:844: creating src/Makefile | ||||||
|  | config.status:844: creating doc/Makefile | ||||||
|  | config.status:844: creating config.h | ||||||
|  | config.status:1073: executing depfiles commands | ||||||
|  | config.status:1150: cd src       && sed -e '/# am--include-marker/d' Makefile         | make -f - am--depfiles | ||||||
|  | config.status:1155: $? = 0 | ||||||
|  |  | ||||||
|  | ## ---------------- ## | ||||||
|  | ## Cache variables. ## | ||||||
|  | ## ---------------- ## | ||||||
|  |  | ||||||
|  | ac_cv_c_compiler_gnu=yes | ||||||
|  | ac_cv_env_CC_set= | ||||||
|  | ac_cv_env_CC_value= | ||||||
|  | ac_cv_env_CFLAGS_set= | ||||||
|  | ac_cv_env_CFLAGS_value= | ||||||
|  | ac_cv_env_CPPFLAGS_set= | ||||||
|  | ac_cv_env_CPPFLAGS_value= | ||||||
|  | ac_cv_env_LDFLAGS_set= | ||||||
|  | ac_cv_env_LDFLAGS_value= | ||||||
|  | ac_cv_env_LIBS_set= | ||||||
|  | ac_cv_env_LIBS_value= | ||||||
|  | ac_cv_env_build_alias_set= | ||||||
|  | ac_cv_env_build_alias_value= | ||||||
|  | ac_cv_env_host_alias_set= | ||||||
|  | ac_cv_env_host_alias_value= | ||||||
|  | ac_cv_env_target_alias_set= | ||||||
|  | ac_cv_env_target_alias_value= | ||||||
|  | ac_cv_lib_rt_clock_gettime=yes | ||||||
|  | ac_cv_objext=o | ||||||
|  | ac_cv_path_install='/usr/bin/install -c' | ||||||
|  | ac_cv_path_mkdir=/bin/mkdir | ||||||
|  | ac_cv_prog_AWK=mawk | ||||||
|  | ac_cv_prog_ac_ct_CC=gcc | ||||||
|  | ac_cv_prog_ac_ct_RANLIB=ranlib | ||||||
|  | ac_cv_prog_cc_c89= | ||||||
|  | ac_cv_prog_cc_g=yes | ||||||
|  | ac_cv_prog_make_make_set=yes | ||||||
|  | am_cv_CC_dependencies_compiler_type=gcc3 | ||||||
|  | am_cv_make_support_nested_variables=yes | ||||||
|  | am_cv_prog_cc_c_o=yes | ||||||
|  |  | ||||||
|  | ## ----------------- ## | ||||||
|  | ## Output variables. ## | ||||||
|  | ## ----------------- ## | ||||||
|  |  | ||||||
|  | ACLOCAL='${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing aclocal-1.16' | ||||||
|  | AMDEPBACKSLASH='\' | ||||||
|  | AMDEP_FALSE='#' | ||||||
|  | AMDEP_TRUE='' | ||||||
|  | AMTAR='$${TAR-tar}' | ||||||
|  | AM_BACKSLASH='\' | ||||||
|  | AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' | ||||||
|  | AM_DEFAULT_VERBOSITY='1' | ||||||
|  | AM_V='$(V)' | ||||||
|  | AUTOCONF='${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing autoconf' | ||||||
|  | AUTOHEADER='${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing autoheader' | ||||||
|  | AUTOMAKE='${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing automake-1.16' | ||||||
|  | AWK='mawk' | ||||||
|  | CC='gcc' | ||||||
|  | CCDEPMODE='depmode=gcc3' | ||||||
|  | CFLAGS='-g -O2' | ||||||
|  | CPPFLAGS='' | ||||||
|  | CYGPATH_W='echo' | ||||||
|  | DEFS='-DHAVE_CONFIG_H' | ||||||
|  | DEPDIR='.deps' | ||||||
|  | DOXYGEN='' | ||||||
|  | ECHO_C='' | ||||||
|  | ECHO_N='-n' | ||||||
|  | ECHO_T='' | ||||||
|  | EXEEXT='' | ||||||
|  | HAVE_DOXYGEN_FALSE='' | ||||||
|  | HAVE_DOXYGEN_TRUE='#' | ||||||
|  | INSTALL_DATA='${INSTALL} -m 644' | ||||||
|  | INSTALL_PROGRAM='${INSTALL}' | ||||||
|  | INSTALL_SCRIPT='${INSTALL}' | ||||||
|  | INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' | ||||||
|  | LDFLAGS='' | ||||||
|  | LIBOBJS='' | ||||||
|  | LIBS='-lrt ' | ||||||
|  | LTLIBOBJS='' | ||||||
|  | MAKEINFO='${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing makeinfo' | ||||||
|  | MKDIR_P='/bin/mkdir -p' | ||||||
|  | OBJEXT='o' | ||||||
|  | PACKAGE='bcm2835' | ||||||
|  | PACKAGE_BUGREPORT='mikem@airspayce.com' | ||||||
|  | PACKAGE_NAME='bcm2835' | ||||||
|  | PACKAGE_STRING='bcm2835 1.58' | ||||||
|  | PACKAGE_TARNAME='bcm2835' | ||||||
|  | PACKAGE_URL='' | ||||||
|  | PACKAGE_VERSION='1.58' | ||||||
|  | PATH_SEPARATOR=':' | ||||||
|  | RANLIB='ranlib' | ||||||
|  | SET_MAKE='' | ||||||
|  | SHELL='/bin/bash' | ||||||
|  | STRIP='' | ||||||
|  | VERSION='1.58' | ||||||
|  | ac_ct_CC='gcc' | ||||||
|  | am__EXEEXT_FALSE='' | ||||||
|  | am__EXEEXT_TRUE='#' | ||||||
|  | am__fastdepCC_FALSE='#' | ||||||
|  | am__fastdepCC_TRUE='' | ||||||
|  | am__include='include' | ||||||
|  | am__isrc='' | ||||||
|  | am__leading_dot='.' | ||||||
|  | am__nodep='_no' | ||||||
|  | am__quote='' | ||||||
|  | am__tar='$${TAR-tar} chof - "$$tardir"' | ||||||
|  | am__untar='$${TAR-tar} xf -' | ||||||
|  | bindir='${exec_prefix}/bin' | ||||||
|  | build_alias='' | ||||||
|  | datadir='${datarootdir}' | ||||||
|  | datarootdir='${prefix}/share' | ||||||
|  | docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' | ||||||
|  | dvidir='${docdir}' | ||||||
|  | exec_prefix='${prefix}' | ||||||
|  | host_alias='' | ||||||
|  | htmldir='${docdir}' | ||||||
|  | includedir='${prefix}/include' | ||||||
|  | infodir='${datarootdir}/info' | ||||||
|  | install_sh='${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/install-sh' | ||||||
|  | libdir='${exec_prefix}/lib' | ||||||
|  | libexecdir='${exec_prefix}/libexec' | ||||||
|  | localedir='${datarootdir}/locale' | ||||||
|  | localstatedir='${prefix}/var' | ||||||
|  | mandir='${datarootdir}/man' | ||||||
|  | mkdir_p='$(MKDIR_P)' | ||||||
|  | oldincludedir='/usr/include' | ||||||
|  | pdfdir='${docdir}' | ||||||
|  | prefix='/usr/local' | ||||||
|  | program_transform_name='s,x,x,' | ||||||
|  | psdir='${docdir}' | ||||||
|  | runstatedir='${localstatedir}/run' | ||||||
|  | sbindir='${exec_prefix}/sbin' | ||||||
|  | sharedstatedir='${prefix}/com' | ||||||
|  | sysconfdir='${prefix}/etc' | ||||||
|  | target_alias='' | ||||||
|  |  | ||||||
|  | ## ----------- ## | ||||||
|  | ## confdefs.h. ## | ||||||
|  | ## ----------- ## | ||||||
|  |  | ||||||
|  | /* confdefs.h */ | ||||||
|  | #define PACKAGE_NAME "bcm2835" | ||||||
|  | #define PACKAGE_TARNAME "bcm2835" | ||||||
|  | #define PACKAGE_VERSION "1.58" | ||||||
|  | #define PACKAGE_STRING "bcm2835 1.58" | ||||||
|  | #define PACKAGE_BUGREPORT "mikem@airspayce.com" | ||||||
|  | #define PACKAGE_URL "" | ||||||
|  | #define PACKAGE "bcm2835" | ||||||
|  | #define VERSION "1.58" | ||||||
|  | #define HAVE_LIBRT 1 | ||||||
|  |  | ||||||
|  | configure: exit 0 | ||||||
							
								
								
									
										1183
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.status
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1183
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.status
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1705
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.sub
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1705
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/config.sub
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										5887
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/configure
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5887
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/configure
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | dnl -*-autoconf-*- | ||||||
|  | dnl bcm2835: Autoconf script | ||||||
|  | dnl  | ||||||
|  | dnl $Id: configure.in,v 1.1 2012/12/01 22:56:52 mikem Exp mikem $ | ||||||
|  | dnl (C) 2012 Mike McCauley (mikem@airspayce.com) | ||||||
|  |  | ||||||
|  | dnl Dont forget to update  BCM2835_VERSION and .tar.gz in bcm2835.h | ||||||
|  | dnl and the zip file. | ||||||
|  | AC_INIT([bcm2835], [1.58], [mikem@airspayce.com]) | ||||||
|  |  | ||||||
|  | AM_CONFIG_HEADER(config.h) | ||||||
|  | AM_INIT_AUTOMAKE() | ||||||
|  | AC_CHECK_LIB([rt], [clock_gettime]) | ||||||
|  | AC_CHECK_PROGS([DOXYGEN], [doxygen]) | ||||||
|  | if test -z "$DOXYGEN"; | ||||||
|  |    then AC_MSG_WARN([Doxygen not found - continuing without Doxygen support]) | ||||||
|  | fi | ||||||
|  | AC_PROG_RANLIB | ||||||
|  | AC_PROG_CC | ||||||
|  | AC_CONFIG_MACRO_DIR([m4]) | ||||||
|  | AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"]) | ||||||
|  | AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([doc/Doxyfile])]) | ||||||
|  | AC_OUTPUT(Makefile src/Makefile doc/Makefile) | ||||||
							
								
								
									
										630
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/depcomp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										630
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/depcomp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,630 @@ | |||||||
|  | #! /bin/sh | ||||||
|  | # depcomp - compile a program generating dependencies as side-effects | ||||||
|  |  | ||||||
|  | scriptversion=2009-04-28.21; # UTC | ||||||
|  |  | ||||||
|  | # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free | ||||||
|  | # Software Foundation, Inc. | ||||||
|  |  | ||||||
|  | # This program is free software; you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation; either version 2, or (at your option) | ||||||
|  | # any later version. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  |  | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
|  | # As a special exception to the GNU General Public License, if you | ||||||
|  | # distribute this file as part of a program that contains a | ||||||
|  | # configuration script generated by Autoconf, you may include it under | ||||||
|  | # the same distribution terms that you use for the rest of that program. | ||||||
|  |  | ||||||
|  | # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. | ||||||
|  |  | ||||||
|  | case $1 in | ||||||
|  |   '') | ||||||
|  |      echo "$0: No command.  Try \`$0 --help' for more information." 1>&2 | ||||||
|  |      exit 1; | ||||||
|  |      ;; | ||||||
|  |   -h | --h*) | ||||||
|  |     cat <<\EOF | ||||||
|  | Usage: depcomp [--help] [--version] PROGRAM [ARGS] | ||||||
|  |  | ||||||
|  | Run PROGRAMS ARGS to compile a file, generating dependencies | ||||||
|  | as side-effects. | ||||||
|  |  | ||||||
|  | Environment variables: | ||||||
|  |   depmode     Dependency tracking mode. | ||||||
|  |   source      Source file read by `PROGRAMS ARGS'. | ||||||
|  |   object      Object file output by `PROGRAMS ARGS'. | ||||||
|  |   DEPDIR      directory where to store dependencies. | ||||||
|  |   depfile     Dependency file to output. | ||||||
|  |   tmpdepfile  Temporary file to use when outputing dependencies. | ||||||
|  |   libtool     Whether libtool is used (yes/no). | ||||||
|  |  | ||||||
|  | Report bugs to <bug-automake@gnu.org>. | ||||||
|  | EOF | ||||||
|  |     exit $? | ||||||
|  |     ;; | ||||||
|  |   -v | --v*) | ||||||
|  |     echo "depcomp $scriptversion" | ||||||
|  |     exit $? | ||||||
|  |     ;; | ||||||
|  | esac | ||||||
|  |  | ||||||
|  | if test -z "$depmode" || test -z "$source" || test -z "$object"; then | ||||||
|  |   echo "depcomp: Variables source, object and depmode must be set" 1>&2 | ||||||
|  |   exit 1 | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. | ||||||
|  | depfile=${depfile-`echo "$object" | | ||||||
|  |   sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} | ||||||
|  | tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} | ||||||
|  |  | ||||||
|  | rm -f "$tmpdepfile" | ||||||
|  |  | ||||||
|  | # Some modes work just like other modes, but use different flags.  We | ||||||
|  | # parameterize here, but still list the modes in the big case below, | ||||||
|  | # to make depend.m4 easier to write.  Note that we *cannot* use a case | ||||||
|  | # here, because this file can only contain one case statement. | ||||||
|  | if test "$depmode" = hp; then | ||||||
|  |   # HP compiler uses -M and no extra arg. | ||||||
|  |   gccflag=-M | ||||||
|  |   depmode=gcc | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if test "$depmode" = dashXmstdout; then | ||||||
|  |    # This is just like dashmstdout with a different argument. | ||||||
|  |    dashmflag=-xM | ||||||
|  |    depmode=dashmstdout | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | cygpath_u="cygpath -u -f -" | ||||||
|  | if test "$depmode" = msvcmsys; then | ||||||
|  |    # This is just like msvisualcpp but w/o cygpath translation. | ||||||
|  |    # Just convert the backslash-escaped backslashes to single forward | ||||||
|  |    # slashes to satisfy depend.m4 | ||||||
|  |    cygpath_u="sed s,\\\\\\\\,/,g" | ||||||
|  |    depmode=msvisualcpp | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | case "$depmode" in | ||||||
|  | gcc3) | ||||||
|  | ## gcc 3 implements dependency tracking that does exactly what | ||||||
|  | ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like | ||||||
|  | ## it if -MD -MP comes after the -MF stuff.  Hmm. | ||||||
|  | ## Unfortunately, FreeBSD c89 acceptance of flags depends upon | ||||||
|  | ## the command line argument order; so add the flags where they | ||||||
|  | ## appear in depend2.am.  Note that the slowdown incurred here | ||||||
|  | ## affects only configure: in makefiles, %FASTDEP% shortcuts this. | ||||||
|  |   for arg | ||||||
|  |   do | ||||||
|  |     case $arg in | ||||||
|  |     -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; | ||||||
|  |     *)  set fnord "$@" "$arg" ;; | ||||||
|  |     esac | ||||||
|  |     shift # fnord | ||||||
|  |     shift # $arg | ||||||
|  |   done | ||||||
|  |   "$@" | ||||||
|  |   stat=$? | ||||||
|  |   if test $stat -eq 0; then : | ||||||
|  |   else | ||||||
|  |     rm -f "$tmpdepfile" | ||||||
|  |     exit $stat | ||||||
|  |   fi | ||||||
|  |   mv "$tmpdepfile" "$depfile" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | gcc) | ||||||
|  | ## There are various ways to get dependency output from gcc.  Here's | ||||||
|  | ## why we pick this rather obscure method: | ||||||
|  | ## - Don't want to use -MD because we'd like the dependencies to end | ||||||
|  | ##   up in a subdir.  Having to rename by hand is ugly. | ||||||
|  | ##   (We might end up doing this anyway to support other compilers.) | ||||||
|  | ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like | ||||||
|  | ##   -MM, not -M (despite what the docs say). | ||||||
|  | ## - Using -M directly means running the compiler twice (even worse | ||||||
|  | ##   than renaming). | ||||||
|  |   if test -z "$gccflag"; then | ||||||
|  |     gccflag=-MD, | ||||||
|  |   fi | ||||||
|  |   "$@" -Wp,"$gccflag$tmpdepfile" | ||||||
|  |   stat=$? | ||||||
|  |   if test $stat -eq 0; then : | ||||||
|  |   else | ||||||
|  |     rm -f "$tmpdepfile" | ||||||
|  |     exit $stat | ||||||
|  |   fi | ||||||
|  |   rm -f "$depfile" | ||||||
|  |   echo "$object : \\" > "$depfile" | ||||||
|  |   alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz | ||||||
|  | ## The second -e expression handles DOS-style file names with drive letters. | ||||||
|  |   sed -e 's/^[^:]*: / /' \ | ||||||
|  |       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" | ||||||
|  | ## This next piece of magic avoids the `deleted header file' problem. | ||||||
|  | ## The problem is that when a header file which appears in a .P file | ||||||
|  | ## is deleted, the dependency causes make to die (because there is | ||||||
|  | ## typically no way to rebuild the header).  We avoid this by adding | ||||||
|  | ## dummy dependencies for each header file.  Too bad gcc doesn't do | ||||||
|  | ## this for us directly. | ||||||
|  |   tr ' ' ' | ||||||
|  | ' < "$tmpdepfile" | | ||||||
|  | ## Some versions of gcc put a space before the `:'.  On the theory | ||||||
|  | ## that the space means something, we add a space to the output as | ||||||
|  | ## well. | ||||||
|  | ## Some versions of the HPUX 10.20 sed can't process this invocation | ||||||
|  | ## correctly.  Breaking it into two sed invocations is a workaround. | ||||||
|  |     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | ||||||
|  |   rm -f "$tmpdepfile" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | hp) | ||||||
|  |   # This case exists only to let depend.m4 do its work.  It works by | ||||||
|  |   # looking at the text of this script.  This case will never be run, | ||||||
|  |   # since it is checked for above. | ||||||
|  |   exit 1 | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | sgi) | ||||||
|  |   if test "$libtool" = yes; then | ||||||
|  |     "$@" "-Wp,-MDupdate,$tmpdepfile" | ||||||
|  |   else | ||||||
|  |     "$@" -MDupdate "$tmpdepfile" | ||||||
|  |   fi | ||||||
|  |   stat=$? | ||||||
|  |   if test $stat -eq 0; then : | ||||||
|  |   else | ||||||
|  |     rm -f "$tmpdepfile" | ||||||
|  |     exit $stat | ||||||
|  |   fi | ||||||
|  |   rm -f "$depfile" | ||||||
|  |  | ||||||
|  |   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files | ||||||
|  |     echo "$object : \\" > "$depfile" | ||||||
|  |  | ||||||
|  |     # Clip off the initial element (the dependent).  Don't try to be | ||||||
|  |     # clever and replace this with sed code, as IRIX sed won't handle | ||||||
|  |     # lines with more than a fixed number of characters (4096 in | ||||||
|  |     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines; | ||||||
|  |     # the IRIX cc adds comments like `#:fec' to the end of the | ||||||
|  |     # dependency line. | ||||||
|  |     tr ' ' ' | ||||||
|  | ' < "$tmpdepfile" \ | ||||||
|  |     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ | ||||||
|  |     tr ' | ||||||
|  | ' ' ' >> "$depfile" | ||||||
|  |     echo >> "$depfile" | ||||||
|  |  | ||||||
|  |     # The second pass generates a dummy entry for each header file. | ||||||
|  |     tr ' ' ' | ||||||
|  | ' < "$tmpdepfile" \ | ||||||
|  |    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ | ||||||
|  |    >> "$depfile" | ||||||
|  |   else | ||||||
|  |     # The sourcefile does not contain any dependencies, so just | ||||||
|  |     # store a dummy comment line, to avoid errors with the Makefile | ||||||
|  |     # "include basename.Plo" scheme. | ||||||
|  |     echo "#dummy" > "$depfile" | ||||||
|  |   fi | ||||||
|  |   rm -f "$tmpdepfile" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | aix) | ||||||
|  |   # The C for AIX Compiler uses -M and outputs the dependencies | ||||||
|  |   # in a .u file.  In older versions, this file always lives in the | ||||||
|  |   # current directory.  Also, the AIX compiler puts `$object:' at the | ||||||
|  |   # start of each line; $object doesn't have directory information. | ||||||
|  |   # Version 6 uses the directory in both cases. | ||||||
|  |   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | ||||||
|  |   test "x$dir" = "x$object" && dir= | ||||||
|  |   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | ||||||
|  |   if test "$libtool" = yes; then | ||||||
|  |     tmpdepfile1=$dir$base.u | ||||||
|  |     tmpdepfile2=$base.u | ||||||
|  |     tmpdepfile3=$dir.libs/$base.u | ||||||
|  |     "$@" -Wc,-M | ||||||
|  |   else | ||||||
|  |     tmpdepfile1=$dir$base.u | ||||||
|  |     tmpdepfile2=$dir$base.u | ||||||
|  |     tmpdepfile3=$dir$base.u | ||||||
|  |     "$@" -M | ||||||
|  |   fi | ||||||
|  |   stat=$? | ||||||
|  |  | ||||||
|  |   if test $stat -eq 0; then : | ||||||
|  |   else | ||||||
|  |     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" | ||||||
|  |     exit $stat | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" | ||||||
|  |   do | ||||||
|  |     test -f "$tmpdepfile" && break | ||||||
|  |   done | ||||||
|  |   if test -f "$tmpdepfile"; then | ||||||
|  |     # Each line is of the form `foo.o: dependent.h'. | ||||||
|  |     # Do two passes, one to just change these to | ||||||
|  |     # `$object: dependent.h' and one to simply `dependent.h:'. | ||||||
|  |     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" | ||||||
|  |     # That's a tab and a space in the []. | ||||||
|  |     sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" | ||||||
|  |   else | ||||||
|  |     # The sourcefile does not contain any dependencies, so just | ||||||
|  |     # store a dummy comment line, to avoid errors with the Makefile | ||||||
|  |     # "include basename.Plo" scheme. | ||||||
|  |     echo "#dummy" > "$depfile" | ||||||
|  |   fi | ||||||
|  |   rm -f "$tmpdepfile" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | icc) | ||||||
|  |   # Intel's C compiler understands `-MD -MF file'.  However on | ||||||
|  |   #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c | ||||||
|  |   # ICC 7.0 will fill foo.d with something like | ||||||
|  |   #    foo.o: sub/foo.c | ||||||
|  |   #    foo.o: sub/foo.h | ||||||
|  |   # which is wrong.  We want: | ||||||
|  |   #    sub/foo.o: sub/foo.c | ||||||
|  |   #    sub/foo.o: sub/foo.h | ||||||
|  |   #    sub/foo.c: | ||||||
|  |   #    sub/foo.h: | ||||||
|  |   # ICC 7.1 will output | ||||||
|  |   #    foo.o: sub/foo.c sub/foo.h | ||||||
|  |   # and will wrap long lines using \ : | ||||||
|  |   #    foo.o: sub/foo.c ... \ | ||||||
|  |   #     sub/foo.h ... \ | ||||||
|  |   #     ... | ||||||
|  |  | ||||||
|  |   "$@" -MD -MF "$tmpdepfile" | ||||||
|  |   stat=$? | ||||||
|  |   if test $stat -eq 0; then : | ||||||
|  |   else | ||||||
|  |     rm -f "$tmpdepfile" | ||||||
|  |     exit $stat | ||||||
|  |   fi | ||||||
|  |   rm -f "$depfile" | ||||||
|  |   # Each line is of the form `foo.o: dependent.h', | ||||||
|  |   # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. | ||||||
|  |   # Do two passes, one to just change these to | ||||||
|  |   # `$object: dependent.h' and one to simply `dependent.h:'. | ||||||
|  |   sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" | ||||||
|  |   # Some versions of the HPUX 10.20 sed can't process this invocation | ||||||
|  |   # correctly.  Breaking it into two sed invocations is a workaround. | ||||||
|  |   sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | | ||||||
|  |     sed -e 's/$/ :/' >> "$depfile" | ||||||
|  |   rm -f "$tmpdepfile" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | hp2) | ||||||
|  |   # The "hp" stanza above does not work with aCC (C++) and HP's ia64 | ||||||
|  |   # compilers, which have integrated preprocessors.  The correct option | ||||||
|  |   # to use with these is +Maked; it writes dependencies to a file named | ||||||
|  |   # 'foo.d', which lands next to the object file, wherever that | ||||||
|  |   # happens to be. | ||||||
|  |   # Much of this is similar to the tru64 case; see comments there. | ||||||
|  |   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | ||||||
|  |   test "x$dir" = "x$object" && dir= | ||||||
|  |   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | ||||||
|  |   if test "$libtool" = yes; then | ||||||
|  |     tmpdepfile1=$dir$base.d | ||||||
|  |     tmpdepfile2=$dir.libs/$base.d | ||||||
|  |     "$@" -Wc,+Maked | ||||||
|  |   else | ||||||
|  |     tmpdepfile1=$dir$base.d | ||||||
|  |     tmpdepfile2=$dir$base.d | ||||||
|  |     "$@" +Maked | ||||||
|  |   fi | ||||||
|  |   stat=$? | ||||||
|  |   if test $stat -eq 0; then : | ||||||
|  |   else | ||||||
|  |      rm -f "$tmpdepfile1" "$tmpdepfile2" | ||||||
|  |      exit $stat | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" | ||||||
|  |   do | ||||||
|  |     test -f "$tmpdepfile" && break | ||||||
|  |   done | ||||||
|  |   if test -f "$tmpdepfile"; then | ||||||
|  |     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" | ||||||
|  |     # Add `dependent.h:' lines. | ||||||
|  |     sed -ne '2,${ | ||||||
|  | 	       s/^ *// | ||||||
|  | 	       s/ \\*$// | ||||||
|  | 	       s/$/:/ | ||||||
|  | 	       p | ||||||
|  | 	     }' "$tmpdepfile" >> "$depfile" | ||||||
|  |   else | ||||||
|  |     echo "#dummy" > "$depfile" | ||||||
|  |   fi | ||||||
|  |   rm -f "$tmpdepfile" "$tmpdepfile2" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | tru64) | ||||||
|  |    # The Tru64 compiler uses -MD to generate dependencies as a side | ||||||
|  |    # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. | ||||||
|  |    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put | ||||||
|  |    # dependencies in `foo.d' instead, so we check for that too. | ||||||
|  |    # Subdirectories are respected. | ||||||
|  |    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | ||||||
|  |    test "x$dir" = "x$object" && dir= | ||||||
|  |    base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | ||||||
|  |  | ||||||
|  |    if test "$libtool" = yes; then | ||||||
|  |       # With Tru64 cc, shared objects can also be used to make a | ||||||
|  |       # static library.  This mechanism is used in libtool 1.4 series to | ||||||
|  |       # handle both shared and static libraries in a single compilation. | ||||||
|  |       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. | ||||||
|  |       # | ||||||
|  |       # With libtool 1.5 this exception was removed, and libtool now | ||||||
|  |       # generates 2 separate objects for the 2 libraries.  These two | ||||||
|  |       # compilations output dependencies in $dir.libs/$base.o.d and | ||||||
|  |       # in $dir$base.o.d.  We have to check for both files, because | ||||||
|  |       # one of the two compilations can be disabled.  We should prefer | ||||||
|  |       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is | ||||||
|  |       # automatically cleaned when .libs/ is deleted, while ignoring | ||||||
|  |       # the former would cause a distcleancheck panic. | ||||||
|  |       tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4 | ||||||
|  |       tmpdepfile2=$dir$base.o.d          # libtool 1.5 | ||||||
|  |       tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5 | ||||||
|  |       tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504 | ||||||
|  |       "$@" -Wc,-MD | ||||||
|  |    else | ||||||
|  |       tmpdepfile1=$dir$base.o.d | ||||||
|  |       tmpdepfile2=$dir$base.d | ||||||
|  |       tmpdepfile3=$dir$base.d | ||||||
|  |       tmpdepfile4=$dir$base.d | ||||||
|  |       "$@" -MD | ||||||
|  |    fi | ||||||
|  |  | ||||||
|  |    stat=$? | ||||||
|  |    if test $stat -eq 0; then : | ||||||
|  |    else | ||||||
|  |       rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" | ||||||
|  |       exit $stat | ||||||
|  |    fi | ||||||
|  |  | ||||||
|  |    for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" | ||||||
|  |    do | ||||||
|  |      test -f "$tmpdepfile" && break | ||||||
|  |    done | ||||||
|  |    if test -f "$tmpdepfile"; then | ||||||
|  |       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" | ||||||
|  |       # That's a tab and a space in the []. | ||||||
|  |       sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" | ||||||
|  |    else | ||||||
|  |       echo "#dummy" > "$depfile" | ||||||
|  |    fi | ||||||
|  |    rm -f "$tmpdepfile" | ||||||
|  |    ;; | ||||||
|  |  | ||||||
|  | #nosideeffect) | ||||||
|  |   # This comment above is used by automake to tell side-effect | ||||||
|  |   # dependency tracking mechanisms from slower ones. | ||||||
|  |  | ||||||
|  | dashmstdout) | ||||||
|  |   # Important note: in order to support this mode, a compiler *must* | ||||||
|  |   # always write the preprocessed file to stdout, regardless of -o. | ||||||
|  |   "$@" || exit $? | ||||||
|  |  | ||||||
|  |   # Remove the call to Libtool. | ||||||
|  |   if test "$libtool" = yes; then | ||||||
|  |     while test "X$1" != 'X--mode=compile'; do | ||||||
|  |       shift | ||||||
|  |     done | ||||||
|  |     shift | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   # Remove `-o $object'. | ||||||
|  |   IFS=" " | ||||||
|  |   for arg | ||||||
|  |   do | ||||||
|  |     case $arg in | ||||||
|  |     -o) | ||||||
|  |       shift | ||||||
|  |       ;; | ||||||
|  |     $object) | ||||||
|  |       shift | ||||||
|  |       ;; | ||||||
|  |     *) | ||||||
|  |       set fnord "$@" "$arg" | ||||||
|  |       shift # fnord | ||||||
|  |       shift # $arg | ||||||
|  |       ;; | ||||||
|  |     esac | ||||||
|  |   done | ||||||
|  |  | ||||||
|  |   test -z "$dashmflag" && dashmflag=-M | ||||||
|  |   # Require at least two characters before searching for `:' | ||||||
|  |   # in the target name.  This is to cope with DOS-style filenames: | ||||||
|  |   # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. | ||||||
|  |   "$@" $dashmflag | | ||||||
|  |     sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile" | ||||||
|  |   rm -f "$depfile" | ||||||
|  |   cat < "$tmpdepfile" > "$depfile" | ||||||
|  |   tr ' ' ' | ||||||
|  | ' < "$tmpdepfile" | \ | ||||||
|  | ## Some versions of the HPUX 10.20 sed can't process this invocation | ||||||
|  | ## correctly.  Breaking it into two sed invocations is a workaround. | ||||||
|  |     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | ||||||
|  |   rm -f "$tmpdepfile" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | dashXmstdout) | ||||||
|  |   # This case only exists to satisfy depend.m4.  It is never actually | ||||||
|  |   # run, as this mode is specially recognized in the preamble. | ||||||
|  |   exit 1 | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | makedepend) | ||||||
|  |   "$@" || exit $? | ||||||
|  |   # Remove any Libtool call | ||||||
|  |   if test "$libtool" = yes; then | ||||||
|  |     while test "X$1" != 'X--mode=compile'; do | ||||||
|  |       shift | ||||||
|  |     done | ||||||
|  |     shift | ||||||
|  |   fi | ||||||
|  |   # X makedepend | ||||||
|  |   shift | ||||||
|  |   cleared=no eat=no | ||||||
|  |   for arg | ||||||
|  |   do | ||||||
|  |     case $cleared in | ||||||
|  |     no) | ||||||
|  |       set ""; shift | ||||||
|  |       cleared=yes ;; | ||||||
|  |     esac | ||||||
|  |     if test $eat = yes; then | ||||||
|  |       eat=no | ||||||
|  |       continue | ||||||
|  |     fi | ||||||
|  |     case "$arg" in | ||||||
|  |     -D*|-I*) | ||||||
|  |       set fnord "$@" "$arg"; shift ;; | ||||||
|  |     # Strip any option that makedepend may not understand.  Remove | ||||||
|  |     # the object too, otherwise makedepend will parse it as a source file. | ||||||
|  |     -arch) | ||||||
|  |       eat=yes ;; | ||||||
|  |     -*|$object) | ||||||
|  |       ;; | ||||||
|  |     *) | ||||||
|  |       set fnord "$@" "$arg"; shift ;; | ||||||
|  |     esac | ||||||
|  |   done | ||||||
|  |   obj_suffix=`echo "$object" | sed 's/^.*\././'` | ||||||
|  |   touch "$tmpdepfile" | ||||||
|  |   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" | ||||||
|  |   rm -f "$depfile" | ||||||
|  |   cat < "$tmpdepfile" > "$depfile" | ||||||
|  |   sed '1,2d' "$tmpdepfile" | tr ' ' ' | ||||||
|  | ' | \ | ||||||
|  | ## Some versions of the HPUX 10.20 sed can't process this invocation | ||||||
|  | ## correctly.  Breaking it into two sed invocations is a workaround. | ||||||
|  |     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | ||||||
|  |   rm -f "$tmpdepfile" "$tmpdepfile".bak | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | cpp) | ||||||
|  |   # Important note: in order to support this mode, a compiler *must* | ||||||
|  |   # always write the preprocessed file to stdout. | ||||||
|  |   "$@" || exit $? | ||||||
|  |  | ||||||
|  |   # Remove the call to Libtool. | ||||||
|  |   if test "$libtool" = yes; then | ||||||
|  |     while test "X$1" != 'X--mode=compile'; do | ||||||
|  |       shift | ||||||
|  |     done | ||||||
|  |     shift | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   # Remove `-o $object'. | ||||||
|  |   IFS=" " | ||||||
|  |   for arg | ||||||
|  |   do | ||||||
|  |     case $arg in | ||||||
|  |     -o) | ||||||
|  |       shift | ||||||
|  |       ;; | ||||||
|  |     $object) | ||||||
|  |       shift | ||||||
|  |       ;; | ||||||
|  |     *) | ||||||
|  |       set fnord "$@" "$arg" | ||||||
|  |       shift # fnord | ||||||
|  |       shift # $arg | ||||||
|  |       ;; | ||||||
|  |     esac | ||||||
|  |   done | ||||||
|  |  | ||||||
|  |   "$@" -E | | ||||||
|  |     sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | ||||||
|  |        -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | | ||||||
|  |     sed '$ s: \\$::' > "$tmpdepfile" | ||||||
|  |   rm -f "$depfile" | ||||||
|  |   echo "$object : \\" > "$depfile" | ||||||
|  |   cat < "$tmpdepfile" >> "$depfile" | ||||||
|  |   sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" | ||||||
|  |   rm -f "$tmpdepfile" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | msvisualcpp) | ||||||
|  |   # Important note: in order to support this mode, a compiler *must* | ||||||
|  |   # always write the preprocessed file to stdout. | ||||||
|  |   "$@" || exit $? | ||||||
|  |  | ||||||
|  |   # Remove the call to Libtool. | ||||||
|  |   if test "$libtool" = yes; then | ||||||
|  |     while test "X$1" != 'X--mode=compile'; do | ||||||
|  |       shift | ||||||
|  |     done | ||||||
|  |     shift | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   IFS=" " | ||||||
|  |   for arg | ||||||
|  |   do | ||||||
|  |     case "$arg" in | ||||||
|  |     -o) | ||||||
|  |       shift | ||||||
|  |       ;; | ||||||
|  |     $object) | ||||||
|  |       shift | ||||||
|  |       ;; | ||||||
|  |     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") | ||||||
|  | 	set fnord "$@" | ||||||
|  | 	shift | ||||||
|  | 	shift | ||||||
|  | 	;; | ||||||
|  |     *) | ||||||
|  | 	set fnord "$@" "$arg" | ||||||
|  | 	shift | ||||||
|  | 	shift | ||||||
|  | 	;; | ||||||
|  |     esac | ||||||
|  |   done | ||||||
|  |   "$@" -E 2>/dev/null | | ||||||
|  |   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" | ||||||
|  |   rm -f "$depfile" | ||||||
|  |   echo "$object : \\" > "$depfile" | ||||||
|  |   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile" | ||||||
|  |   echo "	" >> "$depfile" | ||||||
|  |   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" | ||||||
|  |   rm -f "$tmpdepfile" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | msvcmsys) | ||||||
|  |   # This case exists only to let depend.m4 do its work.  It works by | ||||||
|  |   # looking at the text of this script.  This case will never be run, | ||||||
|  |   # since it is checked for above. | ||||||
|  |   exit 1 | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | none) | ||||||
|  |   exec "$@" | ||||||
|  |   ;; | ||||||
|  |  | ||||||
|  | *) | ||||||
|  |   echo "Unknown depmode $depmode" 1>&2 | ||||||
|  |   exit 1 | ||||||
|  |   ;; | ||||||
|  | esac | ||||||
|  |  | ||||||
|  | exit 0 | ||||||
|  |  | ||||||
|  | # Local Variables: | ||||||
|  | # mode: shell-script | ||||||
|  | # sh-indentation: 2 | ||||||
|  | # eval: (add-hook 'write-file-hooks 'time-stamp) | ||||||
|  | # time-stamp-start: "scriptversion=" | ||||||
|  | # time-stamp-format: "%:y-%02m-%02d.%02H" | ||||||
|  | # time-stamp-time-zone: "UTC" | ||||||
|  | # time-stamp-end: "; # UTC" | ||||||
|  | # End: | ||||||
							
								
								
									
										1757
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/doc/Doxyfile.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1757
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/doc/Doxyfile.in
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										413
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/doc/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										413
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/doc/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,413 @@ | |||||||
|  | # Makefile.in generated by automake 1.16.1 from Makefile.am. | ||||||
|  | # doc/Makefile.  Generated from Makefile.in by configure. | ||||||
|  |  | ||||||
|  | # Copyright (C) 1994-2018 Free Software Foundation, Inc. | ||||||
|  |  | ||||||
|  | # This Makefile.in is free software; the Free Software Foundation | ||||||
|  | # gives unlimited permission to copy and/or distribute it, | ||||||
|  | # with or without modifications, as long as this notice is preserved. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||||||
|  | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||||||
|  | # PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | am__is_gnu_make = { \ | ||||||
|  |   if test -z '$(MAKELEVEL)'; then \ | ||||||
|  |     false; \ | ||||||
|  |   elif test -n '$(MAKE_HOST)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   else \ | ||||||
|  |     false; \ | ||||||
|  |   fi; \ | ||||||
|  | } | ||||||
|  | am__make_running_with_option = \ | ||||||
|  |   case $${target_option-} in \ | ||||||
|  |       ?) ;; \ | ||||||
|  |       *) echo "am__make_running_with_option: internal error: invalid" \ | ||||||
|  |               "target option '$${target_option-}' specified" >&2; \ | ||||||
|  |          exit 1;; \ | ||||||
|  |   esac; \ | ||||||
|  |   has_opt=no; \ | ||||||
|  |   sane_makeflags=$$MAKEFLAGS; \ | ||||||
|  |   if $(am__is_gnu_make); then \ | ||||||
|  |     sane_makeflags=$$MFLAGS; \ | ||||||
|  |   else \ | ||||||
|  |     case $$MAKEFLAGS in \ | ||||||
|  |       *\\[\ \	]*) \ | ||||||
|  |         bs=\\; \ | ||||||
|  |         sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | ||||||
|  |           | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ | ||||||
|  |     esac; \ | ||||||
|  |   fi; \ | ||||||
|  |   skip_next=no; \ | ||||||
|  |   strip_trailopt () \ | ||||||
|  |   { \ | ||||||
|  |     flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ | ||||||
|  |   }; \ | ||||||
|  |   for flg in $$sane_makeflags; do \ | ||||||
|  |     test $$skip_next = yes && { skip_next=no; continue; }; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *=*|--*) continue;; \ | ||||||
|  |         -*I) strip_trailopt 'I'; skip_next=yes;; \ | ||||||
|  |       -*I?*) strip_trailopt 'I';; \ | ||||||
|  |         -*O) strip_trailopt 'O'; skip_next=yes;; \ | ||||||
|  |       -*O?*) strip_trailopt 'O';; \ | ||||||
|  |         -*l) strip_trailopt 'l'; skip_next=yes;; \ | ||||||
|  |       -*l?*) strip_trailopt 'l';; \ | ||||||
|  |       -[dEDm]) skip_next=yes;; \ | ||||||
|  |       -[JT]) skip_next=yes;; \ | ||||||
|  |     esac; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *$$target_option*) has_opt=yes; break;; \ | ||||||
|  |     esac; \ | ||||||
|  |   done; \ | ||||||
|  |   test $$has_opt = yes | ||||||
|  | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | ||||||
|  | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | ||||||
|  | pkgdatadir = $(datadir)/bcm2835 | ||||||
|  | pkgincludedir = $(includedir)/bcm2835 | ||||||
|  | pkglibdir = $(libdir)/bcm2835 | ||||||
|  | pkglibexecdir = $(libexecdir)/bcm2835 | ||||||
|  | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | ||||||
|  | install_sh_DATA = $(install_sh) -c -m 644 | ||||||
|  | install_sh_PROGRAM = $(install_sh) -c | ||||||
|  | install_sh_SCRIPT = $(install_sh) -c | ||||||
|  | INSTALL_HEADER = $(INSTALL_DATA) | ||||||
|  | transform = $(program_transform_name) | ||||||
|  | NORMAL_INSTALL = : | ||||||
|  | PRE_INSTALL = : | ||||||
|  | POST_INSTALL = : | ||||||
|  | NORMAL_UNINSTALL = : | ||||||
|  | PRE_UNINSTALL = : | ||||||
|  | POST_UNINSTALL = : | ||||||
|  | subdir = doc | ||||||
|  | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||||||
|  | am__aclocal_m4_deps = $(top_srcdir)/configure.ac | ||||||
|  | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | ||||||
|  | 	$(ACLOCAL_M4) | ||||||
|  | DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) | ||||||
|  | mkinstalldirs = $(install_sh) -d | ||||||
|  | CONFIG_HEADER = $(top_builddir)/config.h | ||||||
|  | CONFIG_CLEAN_FILES = Doxyfile | ||||||
|  | CONFIG_CLEAN_VPATH_FILES = | ||||||
|  | AM_V_P = $(am__v_P_$(V)) | ||||||
|  | am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_P_0 = false | ||||||
|  | am__v_P_1 = : | ||||||
|  | AM_V_GEN = $(am__v_GEN_$(V)) | ||||||
|  | am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_GEN_0 = @echo "  GEN     " $@; | ||||||
|  | am__v_GEN_1 =  | ||||||
|  | AM_V_at = $(am__v_at_$(V)) | ||||||
|  | am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_at_0 = @ | ||||||
|  | am__v_at_1 =  | ||||||
|  | SOURCES = | ||||||
|  | DIST_SOURCES = | ||||||
|  | am__can_run_installinfo = \ | ||||||
|  |   case $$AM_UPDATE_INFO_DIR in \ | ||||||
|  |     n|no|NO) false;; \ | ||||||
|  |     *) (install-info --version) >/dev/null 2>&1;; \ | ||||||
|  |   esac | ||||||
|  | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) | ||||||
|  | am__DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.in | ||||||
|  | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | ||||||
|  | ACLOCAL = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing aclocal-1.16 | ||||||
|  | AMTAR = $${TAR-tar} | ||||||
|  | AM_DEFAULT_VERBOSITY = 1 | ||||||
|  | AUTOCONF = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing autoconf | ||||||
|  | AUTOHEADER = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing autoheader | ||||||
|  | AUTOMAKE = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing automake-1.16 | ||||||
|  | AWK = mawk | ||||||
|  | CC = gcc | ||||||
|  | CCDEPMODE = depmode=gcc3 | ||||||
|  | CFLAGS = -g -O2 | ||||||
|  | CPPFLAGS =  | ||||||
|  | CYGPATH_W = echo | ||||||
|  | DEFS = -DHAVE_CONFIG_H | ||||||
|  | DEPDIR = .deps | ||||||
|  | DOXYGEN =  | ||||||
|  | ECHO_C =  | ||||||
|  | ECHO_N = -n | ||||||
|  | ECHO_T =  | ||||||
|  | EXEEXT =  | ||||||
|  | INSTALL = /usr/bin/install -c | ||||||
|  | INSTALL_DATA = ${INSTALL} -m 644 | ||||||
|  | INSTALL_PROGRAM = ${INSTALL} | ||||||
|  | INSTALL_SCRIPT = ${INSTALL} | ||||||
|  | INSTALL_STRIP_PROGRAM = $(install_sh) -c -s | ||||||
|  | LDFLAGS =  | ||||||
|  | LIBOBJS =  | ||||||
|  | LIBS = -lrt  | ||||||
|  | LTLIBOBJS =  | ||||||
|  | MAKEINFO = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing makeinfo | ||||||
|  | MKDIR_P = /bin/mkdir -p | ||||||
|  | OBJEXT = o | ||||||
|  | PACKAGE = bcm2835 | ||||||
|  | PACKAGE_BUGREPORT = mikem@airspayce.com | ||||||
|  | PACKAGE_NAME = bcm2835 | ||||||
|  | PACKAGE_STRING = bcm2835 1.58 | ||||||
|  | PACKAGE_TARNAME = bcm2835 | ||||||
|  | PACKAGE_URL =  | ||||||
|  | PACKAGE_VERSION = 1.58 | ||||||
|  | PATH_SEPARATOR = : | ||||||
|  | RANLIB = ranlib | ||||||
|  | SET_MAKE =  | ||||||
|  | SHELL = /bin/bash | ||||||
|  | STRIP =  | ||||||
|  | VERSION = 1.58 | ||||||
|  | abs_builddir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/doc | ||||||
|  | abs_srcdir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/doc | ||||||
|  | abs_top_builddir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58 | ||||||
|  | abs_top_srcdir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58 | ||||||
|  | ac_ct_CC = gcc | ||||||
|  | am__include = include | ||||||
|  | am__leading_dot = . | ||||||
|  | am__quote =  | ||||||
|  | am__tar = $${TAR-tar} chof - "$$tardir" | ||||||
|  | am__untar = $${TAR-tar} xf - | ||||||
|  | bindir = ${exec_prefix}/bin | ||||||
|  | build_alias =  | ||||||
|  | builddir = . | ||||||
|  | datadir = ${datarootdir} | ||||||
|  | datarootdir = ${prefix}/share | ||||||
|  | docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} | ||||||
|  | dvidir = ${docdir} | ||||||
|  | exec_prefix = ${prefix} | ||||||
|  | host_alias =  | ||||||
|  | htmldir = ${docdir} | ||||||
|  | includedir = ${prefix}/include | ||||||
|  | infodir = ${datarootdir}/info | ||||||
|  | install_sh = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/install-sh | ||||||
|  | libdir = ${exec_prefix}/lib | ||||||
|  | libexecdir = ${exec_prefix}/libexec | ||||||
|  | localedir = ${datarootdir}/locale | ||||||
|  | localstatedir = ${prefix}/var | ||||||
|  | mandir = ${datarootdir}/man | ||||||
|  | mkdir_p = $(MKDIR_P) | ||||||
|  | oldincludedir = /usr/include | ||||||
|  | pdfdir = ${docdir} | ||||||
|  | prefix = /usr/local | ||||||
|  | program_transform_name = s,x,x, | ||||||
|  | psdir = ${docdir} | ||||||
|  | runstatedir = ${localstatedir}/run | ||||||
|  | sbindir = ${exec_prefix}/sbin | ||||||
|  | sharedstatedir = ${prefix}/com | ||||||
|  | srcdir = . | ||||||
|  | sysconfdir = ${prefix}/etc | ||||||
|  | target_alias =  | ||||||
|  | top_build_prefix = ../ | ||||||
|  | top_builddir = .. | ||||||
|  | top_srcdir = .. | ||||||
|  | #CLEANFILES = doxyfile.stamp *~ | ||||||
|  | all: all-am | ||||||
|  |  | ||||||
|  | .SUFFIXES: | ||||||
|  | $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) | ||||||
|  | 	@for dep in $?; do \ | ||||||
|  | 	  case '$(am__configure_deps)' in \ | ||||||
|  | 	    *$$dep*) \ | ||||||
|  | 	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ | ||||||
|  | 	        && { if test -f $@; then exit 0; else break; fi; }; \ | ||||||
|  | 	      exit 1;; \ | ||||||
|  | 	  esac; \ | ||||||
|  | 	done; \ | ||||||
|  | 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ | ||||||
|  | 	$(am__cd) $(top_srcdir) && \ | ||||||
|  | 	  $(AUTOMAKE) --gnu doc/Makefile | ||||||
|  | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||||||
|  | 	@case '$?' in \ | ||||||
|  | 	  *config.status*) \ | ||||||
|  | 	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ | ||||||
|  | 	  *) \ | ||||||
|  | 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ | ||||||
|  | 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ | ||||||
|  | 	esac; | ||||||
|  |  | ||||||
|  | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  |  | ||||||
|  | $(top_srcdir)/configure:  $(am__configure_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(ACLOCAL_M4):  $(am__aclocal_m4_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(am__aclocal_m4_deps): | ||||||
|  | #Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in | ||||||
|  | #	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ | ||||||
|  | tags TAGS: | ||||||
|  |  | ||||||
|  | ctags CTAGS: | ||||||
|  |  | ||||||
|  | cscope cscopelist: | ||||||
|  |  | ||||||
|  |  | ||||||
|  | distdir: $(BUILT_SOURCES) | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) distdir-am | ||||||
|  |  | ||||||
|  | distdir-am: $(DISTFILES) | ||||||
|  | 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	list='$(DISTFILES)'; \ | ||||||
|  | 	  dist_files=`for file in $$list; do echo $$file; done | \ | ||||||
|  | 	  sed -e "s|^$$srcdirstrip/||;t" \ | ||||||
|  | 	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ | ||||||
|  | 	case $$dist_files in \ | ||||||
|  | 	  */*) $(MKDIR_P) `echo "$$dist_files" | \ | ||||||
|  | 			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ | ||||||
|  | 			   sort -u` ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for file in $$dist_files; do \ | ||||||
|  | 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ | ||||||
|  | 	  if test -d $$d/$$file; then \ | ||||||
|  | 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ | ||||||
|  | 	    if test -d "$(distdir)/$$file"; then \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ | ||||||
|  | 	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    test -f "$(distdir)/$$file" \ | ||||||
|  | 	    || cp -p $$d/$$file "$(distdir)/$$file" \ | ||||||
|  | 	    || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done | ||||||
|  | check-am: all-am | ||||||
|  | check: check-am | ||||||
|  | all-local: | ||||||
|  | all-am: Makefile all-local | ||||||
|  | installdirs: | ||||||
|  | install: install-am | ||||||
|  | install-exec: install-exec-am | ||||||
|  | install-data: install-data-am | ||||||
|  | uninstall: uninstall-am | ||||||
|  |  | ||||||
|  | install-am: all-am | ||||||
|  | 	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||||||
|  |  | ||||||
|  | installcheck: installcheck-am | ||||||
|  | install-strip: | ||||||
|  | 	if test -z '$(STRIP)'; then \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	      install; \ | ||||||
|  | 	else \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ | ||||||
|  | 	fi | ||||||
|  | mostlyclean-generic: | ||||||
|  |  | ||||||
|  | clean-generic: | ||||||
|  | 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) | ||||||
|  |  | ||||||
|  | distclean-generic: | ||||||
|  | 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | ||||||
|  | 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) | ||||||
|  |  | ||||||
|  | maintainer-clean-generic: | ||||||
|  | 	@echo "This command is intended for maintainers to use" | ||||||
|  | 	@echo "it deletes files that may require special tools to rebuild." | ||||||
|  | clean-local: | ||||||
|  | clean: clean-am | ||||||
|  |  | ||||||
|  | clean-am: clean-generic clean-local mostlyclean-am | ||||||
|  |  | ||||||
|  | distclean: distclean-am | ||||||
|  | 	-rm -f Makefile | ||||||
|  | distclean-am: clean-am distclean-generic | ||||||
|  |  | ||||||
|  | dvi: dvi-am | ||||||
|  |  | ||||||
|  | dvi-am: | ||||||
|  |  | ||||||
|  | html: html-am | ||||||
|  |  | ||||||
|  | html-am: | ||||||
|  |  | ||||||
|  | info: info-am | ||||||
|  |  | ||||||
|  | info-am: | ||||||
|  |  | ||||||
|  | install-data-am: | ||||||
|  |  | ||||||
|  | install-dvi: install-dvi-am | ||||||
|  |  | ||||||
|  | install-dvi-am: | ||||||
|  |  | ||||||
|  | install-exec-am: | ||||||
|  |  | ||||||
|  | install-html: install-html-am | ||||||
|  |  | ||||||
|  | install-html-am: | ||||||
|  |  | ||||||
|  | install-info: install-info-am | ||||||
|  |  | ||||||
|  | install-info-am: | ||||||
|  |  | ||||||
|  | install-man: | ||||||
|  |  | ||||||
|  | install-pdf: install-pdf-am | ||||||
|  |  | ||||||
|  | install-pdf-am: | ||||||
|  |  | ||||||
|  | install-ps: install-ps-am | ||||||
|  |  | ||||||
|  | install-ps-am: | ||||||
|  |  | ||||||
|  | installcheck-am: | ||||||
|  |  | ||||||
|  | maintainer-clean: maintainer-clean-am | ||||||
|  | 	-rm -f Makefile | ||||||
|  | maintainer-clean-am: distclean-am maintainer-clean-generic | ||||||
|  |  | ||||||
|  | mostlyclean: mostlyclean-am | ||||||
|  |  | ||||||
|  | mostlyclean-am: mostlyclean-generic | ||||||
|  |  | ||||||
|  | pdf: pdf-am | ||||||
|  |  | ||||||
|  | pdf-am: | ||||||
|  |  | ||||||
|  | ps: ps-am | ||||||
|  |  | ||||||
|  | ps-am: | ||||||
|  |  | ||||||
|  | uninstall-am: | ||||||
|  |  | ||||||
|  | .MAKE: install-am install-strip | ||||||
|  |  | ||||||
|  | .PHONY: all all-am all-local check check-am clean clean-generic \ | ||||||
|  | 	clean-local cscopelist-am ctags-am distclean distclean-generic \ | ||||||
|  | 	distdir dvi dvi-am html html-am info info-am install \ | ||||||
|  | 	install-am install-data install-data-am install-dvi \ | ||||||
|  | 	install-dvi-am install-exec install-exec-am install-html \ | ||||||
|  | 	install-html-am install-info install-info-am install-man \ | ||||||
|  | 	install-pdf install-pdf-am install-ps install-ps-am \ | ||||||
|  | 	install-strip installcheck installcheck-am installdirs \ | ||||||
|  | 	maintainer-clean maintainer-clean-generic mostlyclean \ | ||||||
|  | 	mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ | ||||||
|  | 	uninstall-am | ||||||
|  |  | ||||||
|  | .PRECIOUS: Makefile | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #doxyfile.stamp: ../src/bcm2835.h | ||||||
|  | #	$(DOXYGEN) Doxyfile | ||||||
|  | #	echo Timestamp > doxyfile.stamp | ||||||
|  |  | ||||||
|  | #all-local: doxyfile.stamp | ||||||
|  |  | ||||||
|  | #clean-local: | ||||||
|  | #	rm -rf html | ||||||
|  |  | ||||||
|  | # Tell versions [3.59,3.63) of GNU make to not export all variables. | ||||||
|  | # Otherwise a system limit (for SysV at least) may be exceeded. | ||||||
|  | .NOEXPORT: | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | if HAVE_DOXYGEN | ||||||
|  |  | ||||||
|  | doxyfile.stamp: ../src/bcm2835.h | ||||||
|  | 	$(DOXYGEN) Doxyfile | ||||||
|  | 	echo Timestamp > doxyfile.stamp | ||||||
|  |  | ||||||
|  | CLEANFILES = doxyfile.stamp *~ | ||||||
|  |  | ||||||
|  | all-local: doxyfile.stamp | ||||||
|  |  | ||||||
|  | clean-local: | ||||||
|  | 	rm -rf html | ||||||
|  | endif  | ||||||
| @@ -0,0 +1,413 @@ | |||||||
|  | # Makefile.in generated by automake 1.16.1 from Makefile.am. | ||||||
|  | # @configure_input@ | ||||||
|  |  | ||||||
|  | # Copyright (C) 1994-2018 Free Software Foundation, Inc. | ||||||
|  |  | ||||||
|  | # This Makefile.in is free software; the Free Software Foundation | ||||||
|  | # gives unlimited permission to copy and/or distribute it, | ||||||
|  | # with or without modifications, as long as this notice is preserved. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||||||
|  | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||||||
|  | # PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  | @SET_MAKE@ | ||||||
|  | VPATH = @srcdir@ | ||||||
|  | am__is_gnu_make = { \ | ||||||
|  |   if test -z '$(MAKELEVEL)'; then \ | ||||||
|  |     false; \ | ||||||
|  |   elif test -n '$(MAKE_HOST)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   else \ | ||||||
|  |     false; \ | ||||||
|  |   fi; \ | ||||||
|  | } | ||||||
|  | am__make_running_with_option = \ | ||||||
|  |   case $${target_option-} in \ | ||||||
|  |       ?) ;; \ | ||||||
|  |       *) echo "am__make_running_with_option: internal error: invalid" \ | ||||||
|  |               "target option '$${target_option-}' specified" >&2; \ | ||||||
|  |          exit 1;; \ | ||||||
|  |   esac; \ | ||||||
|  |   has_opt=no; \ | ||||||
|  |   sane_makeflags=$$MAKEFLAGS; \ | ||||||
|  |   if $(am__is_gnu_make); then \ | ||||||
|  |     sane_makeflags=$$MFLAGS; \ | ||||||
|  |   else \ | ||||||
|  |     case $$MAKEFLAGS in \ | ||||||
|  |       *\\[\ \	]*) \ | ||||||
|  |         bs=\\; \ | ||||||
|  |         sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | ||||||
|  |           | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ | ||||||
|  |     esac; \ | ||||||
|  |   fi; \ | ||||||
|  |   skip_next=no; \ | ||||||
|  |   strip_trailopt () \ | ||||||
|  |   { \ | ||||||
|  |     flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ | ||||||
|  |   }; \ | ||||||
|  |   for flg in $$sane_makeflags; do \ | ||||||
|  |     test $$skip_next = yes && { skip_next=no; continue; }; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *=*|--*) continue;; \ | ||||||
|  |         -*I) strip_trailopt 'I'; skip_next=yes;; \ | ||||||
|  |       -*I?*) strip_trailopt 'I';; \ | ||||||
|  |         -*O) strip_trailopt 'O'; skip_next=yes;; \ | ||||||
|  |       -*O?*) strip_trailopt 'O';; \ | ||||||
|  |         -*l) strip_trailopt 'l'; skip_next=yes;; \ | ||||||
|  |       -*l?*) strip_trailopt 'l';; \ | ||||||
|  |       -[dEDm]) skip_next=yes;; \ | ||||||
|  |       -[JT]) skip_next=yes;; \ | ||||||
|  |     esac; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *$$target_option*) has_opt=yes; break;; \ | ||||||
|  |     esac; \ | ||||||
|  |   done; \ | ||||||
|  |   test $$has_opt = yes | ||||||
|  | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | ||||||
|  | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | ||||||
|  | pkgdatadir = $(datadir)/@PACKAGE@ | ||||||
|  | pkgincludedir = $(includedir)/@PACKAGE@ | ||||||
|  | pkglibdir = $(libdir)/@PACKAGE@ | ||||||
|  | pkglibexecdir = $(libexecdir)/@PACKAGE@ | ||||||
|  | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | ||||||
|  | install_sh_DATA = $(install_sh) -c -m 644 | ||||||
|  | install_sh_PROGRAM = $(install_sh) -c | ||||||
|  | install_sh_SCRIPT = $(install_sh) -c | ||||||
|  | INSTALL_HEADER = $(INSTALL_DATA) | ||||||
|  | transform = $(program_transform_name) | ||||||
|  | NORMAL_INSTALL = : | ||||||
|  | PRE_INSTALL = : | ||||||
|  | POST_INSTALL = : | ||||||
|  | NORMAL_UNINSTALL = : | ||||||
|  | PRE_UNINSTALL = : | ||||||
|  | POST_UNINSTALL = : | ||||||
|  | subdir = doc | ||||||
|  | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||||||
|  | am__aclocal_m4_deps = $(top_srcdir)/configure.ac | ||||||
|  | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | ||||||
|  | 	$(ACLOCAL_M4) | ||||||
|  | DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) | ||||||
|  | mkinstalldirs = $(install_sh) -d | ||||||
|  | CONFIG_HEADER = $(top_builddir)/config.h | ||||||
|  | CONFIG_CLEAN_FILES = Doxyfile | ||||||
|  | CONFIG_CLEAN_VPATH_FILES = | ||||||
|  | AM_V_P = $(am__v_P_@AM_V@) | ||||||
|  | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) | ||||||
|  | am__v_P_0 = false | ||||||
|  | am__v_P_1 = : | ||||||
|  | AM_V_GEN = $(am__v_GEN_@AM_V@) | ||||||
|  | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) | ||||||
|  | am__v_GEN_0 = @echo "  GEN     " $@; | ||||||
|  | am__v_GEN_1 =  | ||||||
|  | AM_V_at = $(am__v_at_@AM_V@) | ||||||
|  | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) | ||||||
|  | am__v_at_0 = @ | ||||||
|  | am__v_at_1 =  | ||||||
|  | SOURCES = | ||||||
|  | DIST_SOURCES = | ||||||
|  | am__can_run_installinfo = \ | ||||||
|  |   case $$AM_UPDATE_INFO_DIR in \ | ||||||
|  |     n|no|NO) false;; \ | ||||||
|  |     *) (install-info --version) >/dev/null 2>&1;; \ | ||||||
|  |   esac | ||||||
|  | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) | ||||||
|  | am__DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.in | ||||||
|  | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | ||||||
|  | ACLOCAL = @ACLOCAL@ | ||||||
|  | AMTAR = @AMTAR@ | ||||||
|  | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ | ||||||
|  | AUTOCONF = @AUTOCONF@ | ||||||
|  | AUTOHEADER = @AUTOHEADER@ | ||||||
|  | AUTOMAKE = @AUTOMAKE@ | ||||||
|  | AWK = @AWK@ | ||||||
|  | CC = @CC@ | ||||||
|  | CCDEPMODE = @CCDEPMODE@ | ||||||
|  | CFLAGS = @CFLAGS@ | ||||||
|  | CPPFLAGS = @CPPFLAGS@ | ||||||
|  | CYGPATH_W = @CYGPATH_W@ | ||||||
|  | DEFS = @DEFS@ | ||||||
|  | DEPDIR = @DEPDIR@ | ||||||
|  | DOXYGEN = @DOXYGEN@ | ||||||
|  | ECHO_C = @ECHO_C@ | ||||||
|  | ECHO_N = @ECHO_N@ | ||||||
|  | ECHO_T = @ECHO_T@ | ||||||
|  | EXEEXT = @EXEEXT@ | ||||||
|  | INSTALL = @INSTALL@ | ||||||
|  | INSTALL_DATA = @INSTALL_DATA@ | ||||||
|  | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||||||
|  | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||||||
|  | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||||||
|  | LDFLAGS = @LDFLAGS@ | ||||||
|  | LIBOBJS = @LIBOBJS@ | ||||||
|  | LIBS = @LIBS@ | ||||||
|  | LTLIBOBJS = @LTLIBOBJS@ | ||||||
|  | MAKEINFO = @MAKEINFO@ | ||||||
|  | MKDIR_P = @MKDIR_P@ | ||||||
|  | OBJEXT = @OBJEXT@ | ||||||
|  | PACKAGE = @PACKAGE@ | ||||||
|  | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | ||||||
|  | PACKAGE_NAME = @PACKAGE_NAME@ | ||||||
|  | PACKAGE_STRING = @PACKAGE_STRING@ | ||||||
|  | PACKAGE_TARNAME = @PACKAGE_TARNAME@ | ||||||
|  | PACKAGE_URL = @PACKAGE_URL@ | ||||||
|  | PACKAGE_VERSION = @PACKAGE_VERSION@ | ||||||
|  | PATH_SEPARATOR = @PATH_SEPARATOR@ | ||||||
|  | RANLIB = @RANLIB@ | ||||||
|  | SET_MAKE = @SET_MAKE@ | ||||||
|  | SHELL = @SHELL@ | ||||||
|  | STRIP = @STRIP@ | ||||||
|  | VERSION = @VERSION@ | ||||||
|  | abs_builddir = @abs_builddir@ | ||||||
|  | abs_srcdir = @abs_srcdir@ | ||||||
|  | abs_top_builddir = @abs_top_builddir@ | ||||||
|  | abs_top_srcdir = @abs_top_srcdir@ | ||||||
|  | ac_ct_CC = @ac_ct_CC@ | ||||||
|  | am__include = @am__include@ | ||||||
|  | am__leading_dot = @am__leading_dot@ | ||||||
|  | am__quote = @am__quote@ | ||||||
|  | am__tar = @am__tar@ | ||||||
|  | am__untar = @am__untar@ | ||||||
|  | bindir = @bindir@ | ||||||
|  | build_alias = @build_alias@ | ||||||
|  | builddir = @builddir@ | ||||||
|  | datadir = @datadir@ | ||||||
|  | datarootdir = @datarootdir@ | ||||||
|  | docdir = @docdir@ | ||||||
|  | dvidir = @dvidir@ | ||||||
|  | exec_prefix = @exec_prefix@ | ||||||
|  | host_alias = @host_alias@ | ||||||
|  | htmldir = @htmldir@ | ||||||
|  | includedir = @includedir@ | ||||||
|  | infodir = @infodir@ | ||||||
|  | install_sh = @install_sh@ | ||||||
|  | libdir = @libdir@ | ||||||
|  | libexecdir = @libexecdir@ | ||||||
|  | localedir = @localedir@ | ||||||
|  | localstatedir = @localstatedir@ | ||||||
|  | mandir = @mandir@ | ||||||
|  | mkdir_p = @mkdir_p@ | ||||||
|  | oldincludedir = @oldincludedir@ | ||||||
|  | pdfdir = @pdfdir@ | ||||||
|  | prefix = @prefix@ | ||||||
|  | program_transform_name = @program_transform_name@ | ||||||
|  | psdir = @psdir@ | ||||||
|  | runstatedir = @runstatedir@ | ||||||
|  | sbindir = @sbindir@ | ||||||
|  | sharedstatedir = @sharedstatedir@ | ||||||
|  | srcdir = @srcdir@ | ||||||
|  | sysconfdir = @sysconfdir@ | ||||||
|  | target_alias = @target_alias@ | ||||||
|  | top_build_prefix = @top_build_prefix@ | ||||||
|  | top_builddir = @top_builddir@ | ||||||
|  | top_srcdir = @top_srcdir@ | ||||||
|  | @HAVE_DOXYGEN_TRUE@CLEANFILES = doxyfile.stamp *~ | ||||||
|  | all: all-am | ||||||
|  |  | ||||||
|  | .SUFFIXES: | ||||||
|  | $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) | ||||||
|  | 	@for dep in $?; do \ | ||||||
|  | 	  case '$(am__configure_deps)' in \ | ||||||
|  | 	    *$$dep*) \ | ||||||
|  | 	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ | ||||||
|  | 	        && { if test -f $@; then exit 0; else break; fi; }; \ | ||||||
|  | 	      exit 1;; \ | ||||||
|  | 	  esac; \ | ||||||
|  | 	done; \ | ||||||
|  | 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ | ||||||
|  | 	$(am__cd) $(top_srcdir) && \ | ||||||
|  | 	  $(AUTOMAKE) --gnu doc/Makefile | ||||||
|  | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||||||
|  | 	@case '$?' in \ | ||||||
|  | 	  *config.status*) \ | ||||||
|  | 	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ | ||||||
|  | 	  *) \ | ||||||
|  | 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ | ||||||
|  | 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ | ||||||
|  | 	esac; | ||||||
|  |  | ||||||
|  | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  |  | ||||||
|  | $(top_srcdir)/configure:  $(am__configure_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(ACLOCAL_M4):  $(am__aclocal_m4_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(am__aclocal_m4_deps): | ||||||
|  | @HAVE_DOXYGEN_TRUE@Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in | ||||||
|  | @HAVE_DOXYGEN_TRUE@	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ | ||||||
|  | tags TAGS: | ||||||
|  |  | ||||||
|  | ctags CTAGS: | ||||||
|  |  | ||||||
|  | cscope cscopelist: | ||||||
|  |  | ||||||
|  |  | ||||||
|  | distdir: $(BUILT_SOURCES) | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) distdir-am | ||||||
|  |  | ||||||
|  | distdir-am: $(DISTFILES) | ||||||
|  | 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	list='$(DISTFILES)'; \ | ||||||
|  | 	  dist_files=`for file in $$list; do echo $$file; done | \ | ||||||
|  | 	  sed -e "s|^$$srcdirstrip/||;t" \ | ||||||
|  | 	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ | ||||||
|  | 	case $$dist_files in \ | ||||||
|  | 	  */*) $(MKDIR_P) `echo "$$dist_files" | \ | ||||||
|  | 			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ | ||||||
|  | 			   sort -u` ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for file in $$dist_files; do \ | ||||||
|  | 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ | ||||||
|  | 	  if test -d $$d/$$file; then \ | ||||||
|  | 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ | ||||||
|  | 	    if test -d "$(distdir)/$$file"; then \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ | ||||||
|  | 	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    test -f "$(distdir)/$$file" \ | ||||||
|  | 	    || cp -p $$d/$$file "$(distdir)/$$file" \ | ||||||
|  | 	    || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done | ||||||
|  | check-am: all-am | ||||||
|  | check: check-am | ||||||
|  | @HAVE_DOXYGEN_FALSE@all-local: | ||||||
|  | all-am: Makefile all-local | ||||||
|  | installdirs: | ||||||
|  | install: install-am | ||||||
|  | install-exec: install-exec-am | ||||||
|  | install-data: install-data-am | ||||||
|  | uninstall: uninstall-am | ||||||
|  |  | ||||||
|  | install-am: all-am | ||||||
|  | 	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||||||
|  |  | ||||||
|  | installcheck: installcheck-am | ||||||
|  | install-strip: | ||||||
|  | 	if test -z '$(STRIP)'; then \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	      install; \ | ||||||
|  | 	else \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ | ||||||
|  | 	fi | ||||||
|  | mostlyclean-generic: | ||||||
|  |  | ||||||
|  | clean-generic: | ||||||
|  | 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) | ||||||
|  |  | ||||||
|  | distclean-generic: | ||||||
|  | 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | ||||||
|  | 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) | ||||||
|  |  | ||||||
|  | maintainer-clean-generic: | ||||||
|  | 	@echo "This command is intended for maintainers to use" | ||||||
|  | 	@echo "it deletes files that may require special tools to rebuild." | ||||||
|  | @HAVE_DOXYGEN_FALSE@clean-local: | ||||||
|  | clean: clean-am | ||||||
|  |  | ||||||
|  | clean-am: clean-generic clean-local mostlyclean-am | ||||||
|  |  | ||||||
|  | distclean: distclean-am | ||||||
|  | 	-rm -f Makefile | ||||||
|  | distclean-am: clean-am distclean-generic | ||||||
|  |  | ||||||
|  | dvi: dvi-am | ||||||
|  |  | ||||||
|  | dvi-am: | ||||||
|  |  | ||||||
|  | html: html-am | ||||||
|  |  | ||||||
|  | html-am: | ||||||
|  |  | ||||||
|  | info: info-am | ||||||
|  |  | ||||||
|  | info-am: | ||||||
|  |  | ||||||
|  | install-data-am: | ||||||
|  |  | ||||||
|  | install-dvi: install-dvi-am | ||||||
|  |  | ||||||
|  | install-dvi-am: | ||||||
|  |  | ||||||
|  | install-exec-am: | ||||||
|  |  | ||||||
|  | install-html: install-html-am | ||||||
|  |  | ||||||
|  | install-html-am: | ||||||
|  |  | ||||||
|  | install-info: install-info-am | ||||||
|  |  | ||||||
|  | install-info-am: | ||||||
|  |  | ||||||
|  | install-man: | ||||||
|  |  | ||||||
|  | install-pdf: install-pdf-am | ||||||
|  |  | ||||||
|  | install-pdf-am: | ||||||
|  |  | ||||||
|  | install-ps: install-ps-am | ||||||
|  |  | ||||||
|  | install-ps-am: | ||||||
|  |  | ||||||
|  | installcheck-am: | ||||||
|  |  | ||||||
|  | maintainer-clean: maintainer-clean-am | ||||||
|  | 	-rm -f Makefile | ||||||
|  | maintainer-clean-am: distclean-am maintainer-clean-generic | ||||||
|  |  | ||||||
|  | mostlyclean: mostlyclean-am | ||||||
|  |  | ||||||
|  | mostlyclean-am: mostlyclean-generic | ||||||
|  |  | ||||||
|  | pdf: pdf-am | ||||||
|  |  | ||||||
|  | pdf-am: | ||||||
|  |  | ||||||
|  | ps: ps-am | ||||||
|  |  | ||||||
|  | ps-am: | ||||||
|  |  | ||||||
|  | uninstall-am: | ||||||
|  |  | ||||||
|  | .MAKE: install-am install-strip | ||||||
|  |  | ||||||
|  | .PHONY: all all-am all-local check check-am clean clean-generic \ | ||||||
|  | 	clean-local cscopelist-am ctags-am distclean distclean-generic \ | ||||||
|  | 	distdir dvi dvi-am html html-am info info-am install \ | ||||||
|  | 	install-am install-data install-data-am install-dvi \ | ||||||
|  | 	install-dvi-am install-exec install-exec-am install-html \ | ||||||
|  | 	install-html-am install-info install-info-am install-man \ | ||||||
|  | 	install-pdf install-pdf-am install-ps install-ps-am \ | ||||||
|  | 	install-strip installcheck installcheck-am installdirs \ | ||||||
|  | 	maintainer-clean maintainer-clean-generic mostlyclean \ | ||||||
|  | 	mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ | ||||||
|  | 	uninstall-am | ||||||
|  |  | ||||||
|  | .PRECIOUS: Makefile | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @HAVE_DOXYGEN_TRUE@doxyfile.stamp: ../src/bcm2835.h | ||||||
|  | @HAVE_DOXYGEN_TRUE@	$(DOXYGEN) Doxyfile | ||||||
|  | @HAVE_DOXYGEN_TRUE@	echo Timestamp > doxyfile.stamp | ||||||
|  |  | ||||||
|  | @HAVE_DOXYGEN_TRUE@all-local: doxyfile.stamp | ||||||
|  |  | ||||||
|  | @HAVE_DOXYGEN_TRUE@clean-local: | ||||||
|  | @HAVE_DOXYGEN_TRUE@	rm -rf html | ||||||
|  |  | ||||||
|  | # Tell versions [3.59,3.63) of GNU make to not export all variables. | ||||||
|  | # Otherwise a system limit (for SysV at least) may be exceeded. | ||||||
|  | .NOEXPORT: | ||||||
| @@ -0,0 +1,55 @@ | |||||||
|  | // blink.c | ||||||
|  | // | ||||||
|  | // Example program for bcm2835 library | ||||||
|  | // Blinks a pin on an off every 0.5 secs | ||||||
|  | // | ||||||
|  | // After installing bcm2835, you can build this  | ||||||
|  | // with something like: | ||||||
|  | // gcc -o blink blink.c -l bcm2835 | ||||||
|  | // sudo ./blink | ||||||
|  | // | ||||||
|  | // Or you can test it before installing with: | ||||||
|  | // gcc -o blink -I ../../src ../../src/bcm2835.c blink.c | ||||||
|  | // sudo ./blink | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2011 Mike McCauley | ||||||
|  | // $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  |  | ||||||
|  | // Blinks on RPi Plug P1 pin 11 (which is GPIO pin 17) | ||||||
|  | #define PIN RPI_GPIO_P1_11 | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) | ||||||
|  | { | ||||||
|  |     // If you call this, it will not actually access the GPIO | ||||||
|  |     // Use for testing | ||||||
|  | //    bcm2835_set_debug(1); | ||||||
|  |  | ||||||
|  |     if (!bcm2835_init()) | ||||||
|  |       return 1; | ||||||
|  |  | ||||||
|  |     // Set the pin to be an output | ||||||
|  |     bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_OUTP); | ||||||
|  |  | ||||||
|  |     // Blink | ||||||
|  |     while (1) | ||||||
|  |     { | ||||||
|  | 	// Turn it on | ||||||
|  | 	bcm2835_gpio_write(PIN, HIGH); | ||||||
|  | 	 | ||||||
|  | 	// wait a bit | ||||||
|  | 	bcm2835_delay(500); | ||||||
|  | 	 | ||||||
|  | 	// turn it off | ||||||
|  | 	bcm2835_gpio_write(PIN, LOW); | ||||||
|  | 	 | ||||||
|  | 	// wait a bit | ||||||
|  | 	bcm2835_delay(500); | ||||||
|  |     } | ||||||
|  |     bcm2835_close(); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
| @@ -0,0 +1,57 @@ | |||||||
|  | // event.c | ||||||
|  | // | ||||||
|  | // Example program for bcm2835 library | ||||||
|  | // Event detection of an input pin | ||||||
|  | // | ||||||
|  | // After installing bcm2835, you can build this  | ||||||
|  | // with something like: | ||||||
|  | // gcc -o event event.c -l bcm2835  | ||||||
|  | // sudo ./event | ||||||
|  | // | ||||||
|  | // Or you can test it before installing with: | ||||||
|  | // gcc -o event -I ../../src ../../src/bcm2835.c event.c | ||||||
|  | // sudo ./event | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2011 Mike McCauley | ||||||
|  | // $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  |  | ||||||
|  | // Input on RPi pin GPIO 15 | ||||||
|  | #define PIN RPI_GPIO_P1_15 | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) | ||||||
|  | { | ||||||
|  |     // If you call this, it will not actually access the GPIO | ||||||
|  |     // Use for testing | ||||||
|  | //    bcm2835_set_debug(1); | ||||||
|  |  | ||||||
|  |     if (!bcm2835_init()) | ||||||
|  | 	return 1; | ||||||
|  |  | ||||||
|  |     // Set RPI pin P1-15 to be an input | ||||||
|  |     bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_INPT); | ||||||
|  |     //  with a pullup | ||||||
|  |     bcm2835_gpio_set_pud(PIN, BCM2835_GPIO_PUD_UP); | ||||||
|  |     // And a low detect enable | ||||||
|  |     bcm2835_gpio_len(PIN); | ||||||
|  |  | ||||||
|  |     while (1) | ||||||
|  |     { | ||||||
|  | 	if (bcm2835_gpio_eds(PIN)) | ||||||
|  | 	{ | ||||||
|  | 	    // Now clear the eds flag by setting it to 1 | ||||||
|  | 	    bcm2835_gpio_set_eds(PIN); | ||||||
|  | 	    printf("low event detect for pin 15\n"); | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	// wait a bit | ||||||
|  | 	delay(500); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     bcm2835_close(); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
| @@ -0,0 +1,346 @@ | |||||||
|  | /******************************************************************************* | ||||||
|  | * | ||||||
|  | *   gpio.c | ||||||
|  | * | ||||||
|  | *   Copyright (c) 2013 Shahrooz Shahparnia | ||||||
|  | * | ||||||
|  | *   Description: | ||||||
|  | *   gpio is a command-line utility for executing gpio commands with the  | ||||||
|  | *   Broadcom bcm2835.  It was developed and tested on a Raspberry Pi single-board | ||||||
|  | *   computer model B.  The utility is based on the bcm2835 C library developed | ||||||
|  | *   by Mike McCauley of Open System Consultants, http://www.open.com.au/mikem/bcm2835/. | ||||||
|  | * | ||||||
|  | *   Invoking "gpio" results in a read, set of clear of a GPIO.   | ||||||
|  | *   Options include GPIO read/set/clear  | ||||||
|  | *   of a single GPIO pin, enabling or disabling pull up and pull downs as well as  | ||||||
|  | *   resetting all GPIOs to a default input state.   | ||||||
|  | *   The command usage and command-line parameters are described below | ||||||
|  | *   in the showusage function, which prints the usage if no command-line parameters | ||||||
|  | *   are included or if there are any command-line parameter errors.  Invoking gpio  | ||||||
|  | *   requires root privilege. | ||||||
|  | * | ||||||
|  | *   This file contains the main function as well as functions for displaying | ||||||
|  | *   usage and for parsing the command line. | ||||||
|  | * | ||||||
|  | *   Open Source Licensing GNU GPLv3 | ||||||
|  | * | ||||||
|  | *   Building: | ||||||
|  | * After installing bcm2835, you can build this  | ||||||
|  | * with something like: | ||||||
|  | * gcc -o gpio gpio.c -l bcm2835 | ||||||
|  | * sudo ./gpio | ||||||
|  | * | ||||||
|  | * Or you can test it before installing with: | ||||||
|  | * gcc -o gpio -I ../../src ../../src/bcm2835.c gpio.c | ||||||
|  | * sudo ./gpio | ||||||
|  | * | ||||||
|  | * | ||||||
|  | *   History: | ||||||
|  | *   11/10    VERSION 1.0.0: Original | ||||||
|  | * | ||||||
|  | *      User input parsing (comparse) and showusage\ | ||||||
|  | *      have been adapted from: http://ipsolutionscorp.com/raspberry-pi-spi-utility/ | ||||||
|  | *      mostly to keep consistence with the spincl tool usage. | ||||||
|  | * | ||||||
|  | *      Compile with: gcc -o gpio gpio.c bcm2835.c | ||||||
|  | * | ||||||
|  | *      Examples: | ||||||
|  | *            Clear pin 5: sudo ./gpio -ib -dc -pn -n5   | ||||||
|  | *            Reset all GPIOs to inputs and disable all pull up/downs: sudo ./gpio -ie | ||||||
|  | *            Read pin 10: sudo ./gpio -ib -dr -pn -n10 | ||||||
|  | *            Read pin 10 in debug mode with verbose output: sudo ./gpio -ib -dr -pn -n10 -b | ||||||
|  | *            Read pin 10 and set pin as input with pull down: sudo ./gpio -ib -di -pd -n10 | ||||||
|  | * | ||||||
|  | *            Note: Pin numbers match the Raspberry Pie connector pin numbers | ||||||
|  | ********************************************************************************/ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <string.h> | ||||||
|  | #include <stdint.h> | ||||||
|  |  | ||||||
|  | #define MODE_READ 0 | ||||||
|  | #define MODE_SET 1 | ||||||
|  | #define MODE_CLR 2 | ||||||
|  | #define MODE_INPUT_READ 3 | ||||||
|  |  | ||||||
|  | #define PULL_UP 0 | ||||||
|  | #define PULL_DOWN 1 | ||||||
|  | #define NO_PULL 2 | ||||||
|  |  | ||||||
|  | #define GPIO_BEGIN 0 | ||||||
|  | #define GPIO_END 1 | ||||||
|  | #define NO_ACTION 2 | ||||||
|  |  | ||||||
|  | #define NO_PIN 40 // Some big number that's beyond the connector's pin count | ||||||
|  | #define DEBUG_OFF 0 | ||||||
|  | #define DEBUG_ON 1 | ||||||
|  |  | ||||||
|  | uint8_t  init = NO_ACTION; | ||||||
|  | uint8_t  pull = NO_PULL; | ||||||
|  | uint8_t  mode = MODE_READ; | ||||||
|  | uint8_t  pin_number = NO_PIN; | ||||||
|  |  | ||||||
|  | uint8_t i, len; | ||||||
|  | uint8_t data, pin, debug_mode = DEBUG_OFF; | ||||||
|  |  | ||||||
|  | //******************************************************************************* | ||||||
|  | //  comparse: Parse the command line and return EXIT_SUCCESS or EXIT_FAILURE | ||||||
|  | //    argc: number of command-line arguments | ||||||
|  | //    argv: array of command-line argument strings | ||||||
|  | //******************************************************************************* | ||||||
|  |  | ||||||
|  | void gpio_reset(void); | ||||||
|  |  | ||||||
|  | int comparse(int argc, char **argv) { | ||||||
|  |     int argnum, i, xmitnum; | ||||||
|  | 	 | ||||||
|  |     if (argc < 2) {  // must have at least program name and len arguments | ||||||
|  |                      // or -ie (GPIO_END) or -ib (GPIO_BEGIN) | ||||||
|  |         fprintf(stderr, "Insufficient command line arguments\n"); | ||||||
|  |         return EXIT_FAILURE; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     argnum = 1; | ||||||
|  |     while (argnum < argc && argv[argnum][0] == '-') { | ||||||
|  |  | ||||||
|  |         switch (argv[argnum][1]) { | ||||||
|  |  | ||||||
|  |             case 'i':  // GPIO init | ||||||
|  |                 switch (argv[argnum][2]) { | ||||||
|  |                     case 'b': init = GPIO_BEGIN; break; | ||||||
|  |                     case 'e': init = GPIO_END; break; | ||||||
|  |                     default: | ||||||
|  |                         fprintf(stderr, "%c is not a valid init option\n", argv[argnum][2]); | ||||||
|  |                         return EXIT_FAILURE; | ||||||
|  |                 } | ||||||
|  |                 break; | ||||||
|  |  | ||||||
|  |             case 'd':  // Set/Clear/Read Mode | ||||||
|  |                 switch (argv[argnum][2]) { | ||||||
|  |                     case 'r': mode = MODE_READ; break; | ||||||
|  |                     case 's': mode = MODE_SET; break; | ||||||
|  |                     case 'c': mode = MODE_CLR; break; | ||||||
|  | 		    case 'i': mode = MODE_INPUT_READ; break; | ||||||
|  | 		    default: | ||||||
|  |                         fprintf(stderr, "%c is not a valid init option\n", argv[argnum][2]); | ||||||
|  |                         return EXIT_FAILURE; | ||||||
|  |                 } | ||||||
|  |                 break; | ||||||
|  | 		 | ||||||
|  |             case 'p':  // Pull up, down and no pull Mode | ||||||
|  |                 switch (argv[argnum][2]) { | ||||||
|  |                     case 'u': pull = PULL_UP; break; | ||||||
|  |                     case 'd': pull = PULL_DOWN; break; | ||||||
|  |                     case 'n': pull = NO_PULL; break; | ||||||
|  | 		    default: | ||||||
|  |                         fprintf(stderr, "%c is not a valid init option\n", argv[argnum][2]); | ||||||
|  |                         return EXIT_FAILURE; | ||||||
|  |                 } | ||||||
|  |                 break;		 | ||||||
|  |  | ||||||
|  |             case 'n':  // pin number | ||||||
|  | 	         pin_number = atoi(argv[argnum]+2); | ||||||
|  |                  break; | ||||||
|  |  | ||||||
|  |             case 'b':  // debug mode | ||||||
|  | 		 debug_mode = DEBUG_ON; | ||||||
|  |                  break; | ||||||
|  |  | ||||||
|  |             default: | ||||||
|  |                 fprintf(stderr, "%c is not a valid option\n", argv[argnum][1]); | ||||||
|  |                 return EXIT_FAILURE; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         argnum++;   // advance the argument number | ||||||
|  |  | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     if (argnum == argc && init != NO_ACTION) // no further arguments are needed | ||||||
|  |         return EXIT_SUCCESS; | ||||||
|  |    | ||||||
|  |     return EXIT_SUCCESS; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //******************************************************************************* | ||||||
|  | //  showusage: Print the usage statement and return errcode. | ||||||
|  | //******************************************************************************* | ||||||
|  |  | ||||||
|  | int showusage(int errcode) { | ||||||
|  |     printf("gpio \n"); | ||||||
|  |     printf("Usage: \n"); | ||||||
|  |     printf("  gpio [options]\n"); | ||||||
|  |     printf("\n"); | ||||||
|  |     printf("  Invoking gpio to set or reset a GPIO, enable disable pull up or pull down. Initialize or release a GPIO.\n"); | ||||||
|  |     printf("\n"); | ||||||
|  |     printf("  The following are the options, which must be a single letter\n"); | ||||||
|  |     printf("    preceded by a '-' and followed by another character.\n"); | ||||||
|  |     printf("    -ix where x is the GPIO init option, b[egin] or e[nd]\n"); | ||||||
|  |     printf("      The begin option must be executed before any transfer can happen.\n"); | ||||||
|  |     printf("      The end option will return the GPIO to inputs and turn off all pull up and pull downs.\n"); | ||||||
|  |     printf("      It may be included with a transfer.\n"); | ||||||
|  |     printf("    -dx where x is 'c' for clear, 's' is for set, 'r' for read and 'i' for read and set as input.\n"); | ||||||
|  |     printf("    -px where x is the GPIO pull up or down option. 'u' for pull up, 'd' for pull down and 'n' for none.\n");   | ||||||
|  |     printf("    -nx where x is the pin number.\n"); | ||||||
|  |     printf("\n"); | ||||||
|  |     return errcode; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) { | ||||||
|  |  | ||||||
|  |     printf("Running ... \n"); | ||||||
|  |      | ||||||
|  |     // parse the command line | ||||||
|  |     if (comparse(argc, argv) == EXIT_FAILURE) return showusage (EXIT_FAILURE); | ||||||
|  |  | ||||||
|  |     if (!bcm2835_init()) return 1; | ||||||
|  |        | ||||||
|  |     // GPIO begin if specified     | ||||||
|  |     if (init == GPIO_BEGIN) ; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     // If len is 0, no need to continue, but do GPIO end if specified | ||||||
|  |     // if (len == 0) { | ||||||
|  |     //     if (init == GPIO_END) ; | ||||||
|  |     //	 printf("Zero length ... error!\n"); | ||||||
|  |     //     return EXIT_SUCCESS; | ||||||
|  |     // } | ||||||
|  |     switch (pin_number) { | ||||||
|  |             case 3: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_03; | ||||||
|  | 	    break; | ||||||
|  |             case 5: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_05; | ||||||
|  | 	    break;	     | ||||||
|  |             case 7: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_07; | ||||||
|  | 	    break; | ||||||
|  |             case 26: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_26; | ||||||
|  | 	    break; | ||||||
|  |             case 24: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_24; | ||||||
|  | 	    break; | ||||||
|  |             case 21: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_21; | ||||||
|  | 	    break; | ||||||
|  |             case 19: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_19; | ||||||
|  | 	    break; | ||||||
|  |             case 23: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_23; | ||||||
|  | 	    break; | ||||||
|  |             case 10: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_10; | ||||||
|  | 	    break; | ||||||
|  |             case 11: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_11; | ||||||
|  | 	    break; | ||||||
|  |             case 12: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_12; | ||||||
|  | 	    break; | ||||||
|  |             case 13: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_13; | ||||||
|  | 	    break; | ||||||
|  |             case 15: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_15; | ||||||
|  | 	    break; | ||||||
|  |             case 16: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_16; | ||||||
|  | 	    break; | ||||||
|  |             case 18: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_18; | ||||||
|  | 	    break; | ||||||
|  |             case 22: | ||||||
|  | 	       pin = RPI_V2_GPIO_P1_22; | ||||||
|  | 	    break; | ||||||
|  | 	    default: | ||||||
|  | 	      pin = NO_PIN; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     switch (pull) { | ||||||
|  |     	    case PULL_UP: | ||||||
|  | 		bcm2835_gpio_set_pud(pin, BCM2835_GPIO_PUD_UP); | ||||||
|  | 	    break; | ||||||
|  |     	    case PULL_DOWN: | ||||||
|  | 		bcm2835_gpio_set_pud(pin, BCM2835_GPIO_PUD_DOWN); | ||||||
|  | 	    break; | ||||||
|  |     	    case NO_PULL: | ||||||
|  | 		bcm2835_gpio_set_pud(pin, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	    break; | ||||||
|  |     	    default: | ||||||
|  | 		bcm2835_gpio_set_pud(pin, BCM2835_GPIO_PUD_OFF);	     | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     switch (mode) { | ||||||
|  |     	    case MODE_READ: | ||||||
|  | 	       data = bcm2835_gpio_lev(pin); | ||||||
|  | 	       printf("Reading pin: %d\n", data); | ||||||
|  | 	    break; | ||||||
|  |     	    case MODE_INPUT_READ: | ||||||
|  | 	       bcm2835_gpio_fsel(pin, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	       data = bcm2835_gpio_lev(pin); | ||||||
|  | 	       printf("Reading pin: %d\n", data); | ||||||
|  | 	    break;  | ||||||
|  |     	    case MODE_SET: | ||||||
|  | 	       bcm2835_gpio_fsel(pin, BCM2835_GPIO_FSEL_OUTP); | ||||||
|  | 	       bcm2835_gpio_set(pin); | ||||||
|  | 	    break; | ||||||
|  |     	    case MODE_CLR: | ||||||
|  | 	       bcm2835_gpio_fsel(pin, BCM2835_GPIO_FSEL_OUTP); | ||||||
|  | 	       bcm2835_gpio_clr(pin); | ||||||
|  | 	    break; | ||||||
|  | 	    default: | ||||||
|  | 	       printf("Wrong mode ...!\n"); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     if (debug_mode == DEBUG_ON) {     | ||||||
|  |     	printf("Init %d\n", init);     | ||||||
|  |     	printf("Mode %d\n", mode); | ||||||
|  |     	printf("Pull %d\n", pull); | ||||||
|  |     	printf("Pin Number %d\n", pin_number); | ||||||
|  |     	printf("Pin %d\n", pin); | ||||||
|  |     }    | ||||||
|  |         | ||||||
|  |     if (init == GPIO_END) gpio_reset();        | ||||||
|  |     bcm2835_close(); | ||||||
|  |     printf("... done!\n"); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void gpio_reset(void) { | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_03, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_05, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_07, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_26, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_24, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_21, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_19, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_23, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_10, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_11, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_12, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_13, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_15, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_16, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_18, BCM2835_GPIO_PUD_OFF); | ||||||
|  | 	bcm2835_gpio_set_pud(RPI_V2_GPIO_P1_22, BCM2835_GPIO_PUD_OFF); | ||||||
|  |  | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_03, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_05, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_07, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_26, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_24, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_21, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_19, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_23, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_10, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_11, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_12, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_13, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_15, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_16, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_18, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | 	bcm2835_gpio_fsel(RPI_V2_GPIO_P1_22, BCM2835_GPIO_FSEL_INPT); | ||||||
|  | } | ||||||
| @@ -0,0 +1,278 @@ | |||||||
|  | /******************************************************************************* | ||||||
|  | * | ||||||
|  | *   i2c.c | ||||||
|  | * | ||||||
|  | *   Copyright (c) 2013 Shahrooz Shahparnia (sshahrooz@gmail.com) | ||||||
|  | * | ||||||
|  | *   Description: | ||||||
|  | *   i2c is a command-line utility for executing i2c commands with the  | ||||||
|  | *   Broadcom bcm2835.  It was developed and tested on a Raspberry Pi single-board | ||||||
|  | *   computer model B.  The utility is based on the bcm2835 C library developed | ||||||
|  | *   by Mike McCauley of Open System Consultants, http://www.open.com.au/mikem/bcm2835/. | ||||||
|  | * | ||||||
|  | *   Invoking spincl results in a read or write I2C transfer.  Options include the | ||||||
|  | *   the I2C clock frequency, read/write, address, and port initialization/closing | ||||||
|  | *   procedures.  The command usage and command-line parameters are described below | ||||||
|  | *   in the showusage function, which prints the usage if no command-line parameters | ||||||
|  | *   are included or if there are any command-line parameter errors.  Invoking i2c  | ||||||
|  | *   requires root privilege. | ||||||
|  | * | ||||||
|  | *   This file contains the main function as well as functions for displaying | ||||||
|  | *   usage and for parsing the command line. | ||||||
|  | * | ||||||
|  | *   Open Source Licensing GNU GPLv3 | ||||||
|  | * | ||||||
|  | *   Building: | ||||||
|  | * After installing bcm2835, you can build this  | ||||||
|  | * with something like: | ||||||
|  | * gcc -o i2c i2c.c -l bcm2835 | ||||||
|  | * sudo ./i2c | ||||||
|  | * | ||||||
|  | * Or you can test it before installing with: | ||||||
|  | * gcc -o i2c -I ../../src ../../src/bcm2835.c i2c.c | ||||||
|  | * sudo ./i2c | ||||||
|  | * | ||||||
|  | *   History: | ||||||
|  | *   11/05    VERSION 1.0.0: Original | ||||||
|  | * | ||||||
|  | *      User input parsing (comparse) and showusage\ | ||||||
|  | *      have been adapted from: http://ipsolutionscorp.com/raspberry-pi-spi-utility/ | ||||||
|  | *      mostly to keep consistence with the spincl tool usage. | ||||||
|  | * | ||||||
|  | *      Compile with: gcc -o i2c i2c.c bcm2835.c | ||||||
|  | * | ||||||
|  | *      Examples: | ||||||
|  | * | ||||||
|  | *           Set up ADC (Arduino: ADC1015) | ||||||
|  | *           sudo ./i2c -s72 -dw -ib 3 0x01 0x44 0x00 (select config register, setup mux, etc.) | ||||||
|  | *           sudo ./i2c -s72 -dw -ib 1 0x00 (select ADC data register) | ||||||
|  | * | ||||||
|  | *           Bias DAC (Arduino: MCP4725) at some voltage | ||||||
|  | *           sudo ./i2c -s99 -dw -ib 3 0x60 0x7F 0xF0 (FS output is with 0xFF 0xF0) | ||||||
|  | *           Read ADC convergence result | ||||||
|  | *           sudo ./i2c -s72 -dr -ib 2 (FS output is 0x7FF0 with PGA1 = 1) | ||||||
|  | *   | ||||||
|  | *      In a DAC to ADC loop back typical results are: | ||||||
|  | * | ||||||
|  | *      DAC    VOUT   ADC | ||||||
|  | *      7FFh   1.6V   677h                    Note ratio is FS_ADC*PGA_GAIN/FS_DAC = 4.096/3.3 = 1.23 | ||||||
|  | *      5FFh   1.2V   4DCh | ||||||
|  | *      8F0h   1.8V   745h | ||||||
|  | *      9D0h   2V     7EAh | ||||||
|  | *      000h   10mV   004h | ||||||
|  | * | ||||||
|  | ********************************************************************************/ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <string.h> | ||||||
|  | #include <stdint.h> | ||||||
|  |  | ||||||
|  | #define MODE_READ 0 | ||||||
|  | #define MODE_WRITE 1 | ||||||
|  |  | ||||||
|  | #define MAX_LEN 32 | ||||||
|  |  | ||||||
|  | char wbuf[MAX_LEN]; | ||||||
|  |  | ||||||
|  | typedef enum { | ||||||
|  |     NO_ACTION, | ||||||
|  |     I2C_BEGIN, | ||||||
|  |     I2C_END | ||||||
|  | } i2c_init; | ||||||
|  |  | ||||||
|  | uint8_t  init = NO_ACTION; | ||||||
|  | uint16_t clk_div = BCM2835_I2C_CLOCK_DIVIDER_148; | ||||||
|  | uint8_t slave_address = 0x00; | ||||||
|  | uint32_t len = 0; | ||||||
|  | uint8_t  mode = MODE_READ; | ||||||
|  |  | ||||||
|  | //******************************************************************************* | ||||||
|  | //  comparse: Parse the command line and return EXIT_SUCCESS or EXIT_FAILURE | ||||||
|  | //    argc: number of command-line arguments | ||||||
|  | //    argv: array of command-line argument strings | ||||||
|  | //******************************************************************************* | ||||||
|  |  | ||||||
|  | int comparse(int argc, char **argv) { | ||||||
|  |     int argnum, i, xmitnum; | ||||||
|  | 	 | ||||||
|  |     if (argc < 2) {  // must have at least program name and len arguments | ||||||
|  |                      // or -ie (I2C_END) or -ib (I2C_BEGIN) | ||||||
|  |         fprintf(stderr, "Insufficient command line arguments\n"); | ||||||
|  |         return EXIT_FAILURE; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     argnum = 1; | ||||||
|  |     while (argnum < argc && argv[argnum][0] == '-') { | ||||||
|  |  | ||||||
|  |         switch (argv[argnum][1]) { | ||||||
|  |  | ||||||
|  |             case 'i':  // I2C init | ||||||
|  |                 switch (argv[argnum][2]) { | ||||||
|  |                     case 'b': init = I2C_BEGIN; break; | ||||||
|  |                     case 'e': init = I2C_END; break; | ||||||
|  |                     default: | ||||||
|  |                         fprintf(stderr, "%c is not a valid init option\n", argv[argnum][2]); | ||||||
|  |                         return EXIT_FAILURE; | ||||||
|  |                 } | ||||||
|  |                 break; | ||||||
|  |  | ||||||
|  |             case 'd':  // Read/Write Mode | ||||||
|  |                 switch (argv[argnum][2]) { | ||||||
|  |                     case 'r': mode = MODE_READ; break; | ||||||
|  |                     case 'w': mode = MODE_WRITE; break; | ||||||
|  |                     default: | ||||||
|  |                         fprintf(stderr, "%c is not a valid init option\n", argv[argnum][2]); | ||||||
|  |                         return EXIT_FAILURE; | ||||||
|  |                 } | ||||||
|  |                 break; | ||||||
|  |  | ||||||
|  |             case 'c':  // Clock divider | ||||||
|  |                 clk_div = atoi(argv[argnum]+2); | ||||||
|  |                 break; | ||||||
|  |  | ||||||
|  |             case 's':  // Slave address | ||||||
|  |                 slave_address = atoi(argv[argnum]+2); | ||||||
|  |                 break; | ||||||
|  |  | ||||||
|  |             default: | ||||||
|  |                 fprintf(stderr, "%c is not a valid option\n", argv[argnum][1]); | ||||||
|  |                 return EXIT_FAILURE; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         argnum++;   // advance the argument number | ||||||
|  |  | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     // If command is used for I2C_END or I2C_BEGIN only | ||||||
|  |     if (argnum == argc && init != NO_ACTION) // no further arguments are needed | ||||||
|  |         return EXIT_SUCCESS; | ||||||
|  | 	 | ||||||
|  |     // Get len | ||||||
|  |     if (strspn(argv[argnum], "0123456789") != strlen(argv[argnum])) { | ||||||
|  |         fprintf(stderr, "Invalid number of bytes specified\n"); | ||||||
|  |         return EXIT_FAILURE; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     len = atoi(argv[argnum]); | ||||||
|  |  | ||||||
|  |     if (len > MAX_LEN) { | ||||||
|  |     	fprintf(stderr, "Invalid number of bytes specified\n"); | ||||||
|  |         return EXIT_FAILURE; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     argnum++;   // advance the argument number | ||||||
|  |  | ||||||
|  |     xmitnum = argc - argnum;    // number of xmit bytes | ||||||
|  |  | ||||||
|  |     memset(wbuf, 0, sizeof(wbuf)); | ||||||
|  |  | ||||||
|  |     for (i = 0; i < xmitnum; i++) { | ||||||
|  |         if (strspn(argv[argnum + i], "0123456789abcdefABCDEFxX") != strlen(argv[argnum + i])) { | ||||||
|  |             fprintf(stderr, "Invalid data: "); | ||||||
|  | 	    fprintf(stderr, "%d \n", xmitnum); | ||||||
|  |             return EXIT_FAILURE; | ||||||
|  |         } | ||||||
|  |         wbuf[i] = (char)strtoul(argv[argnum + i], NULL, 0); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return EXIT_SUCCESS; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | //******************************************************************************* | ||||||
|  | //  showusage: Print the usage statement and return errcode. | ||||||
|  | //******************************************************************************* | ||||||
|  | int showusage(int errcode) { | ||||||
|  |     printf("i2c \n"); | ||||||
|  |     printf("Usage: \n"); | ||||||
|  |     printf("  i2c [options] len [rcv/xmit bytes]\n"); | ||||||
|  |     printf("\n"); | ||||||
|  |     printf("  Invoking i2c results in an I2C transfer of a specified\n"); | ||||||
|  |     printf("    number of bytes.  Additionally, it can be used to set the appropriate\n"); | ||||||
|  |     printf("    GPIO pins to their respective I2C configurations or return them\n"); | ||||||
|  |     printf("    to GPIO input configuration.  Options include the I2C clock frequency,\n"); | ||||||
|  |     printf("    initialization option (i2c_begin and i2c_end).  i2c must be invoked\n"); | ||||||
|  |     printf("    with root privileges.\n"); | ||||||
|  |     printf("\n"); | ||||||
|  |     printf("  The following are the options, which must be a single letter\n"); | ||||||
|  |     printf("    preceded by a '-' and followed by another character.\n"); | ||||||
|  |     printf("    -dx where x is 'w' for write and 'r' is for read.\n"); | ||||||
|  |     printf("    -ix where x is the I2C init option, b[egin] or e[nd]\n"); | ||||||
|  |     printf("      The begin option must be executed before any transfer can happen.\n"); | ||||||
|  |     printf("        It may be included with a transfer.\n"); | ||||||
|  |     printf("      The end option will return the I2C pins to GPIO inputs.\n"); | ||||||
|  |     printf("        It may be included with a transfer.\n"); | ||||||
|  |     printf("    -cx where x is the clock divider from 250MHz. Allowed values\n"); | ||||||
|  |     printf("      are 150 through 2500.\n"); | ||||||
|  |     printf("      Corresponding frequencies are specified in bcm2835.h.\n"); | ||||||
|  |     printf("\n"); | ||||||
|  |     printf("    len: The number of bytes to be transmitted or received.\n"); | ||||||
|  |     printf("    The maximum number of bytes allowed is %d\n", MAX_LEN); | ||||||
|  |     printf("\n"); | ||||||
|  |     printf("\n"); | ||||||
|  |     printf("\n"); | ||||||
|  |     return errcode; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | char buf[MAX_LEN]; | ||||||
|  | int i; | ||||||
|  | uint8_t data; | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) { | ||||||
|  |  | ||||||
|  |     printf("Running ... \n"); | ||||||
|  |      | ||||||
|  |     // parse the command line | ||||||
|  |     if (comparse(argc, argv) == EXIT_FAILURE) return showusage (EXIT_FAILURE); | ||||||
|  |  | ||||||
|  |     if (!bcm2835_init()) | ||||||
|  |     { | ||||||
|  |       printf("bcm2835_init failed. Are you running as root??\n"); | ||||||
|  |       return 1; | ||||||
|  |     } | ||||||
|  |        | ||||||
|  |     // I2C begin if specified     | ||||||
|  |     if (init == I2C_BEGIN) | ||||||
|  |     { | ||||||
|  |       if (!bcm2835_i2c_begin()) | ||||||
|  |       { | ||||||
|  |         printf("bcm2835_i2c_begin failed. Are you running as root??\n"); | ||||||
|  | 	return 1; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 	   | ||||||
|  |  | ||||||
|  |     // If len is 0, no need to continue, but do I2C end if specified | ||||||
|  |     if (len == 0) { | ||||||
|  |          if (init == I2C_END) bcm2835_i2c_end(); | ||||||
|  | 	 printf("... done!\n"); | ||||||
|  |          return EXIT_SUCCESS; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     bcm2835_i2c_setSlaveAddress(slave_address); | ||||||
|  |     bcm2835_i2c_setClockDivider(clk_div); | ||||||
|  |     fprintf(stderr, "Clock divider set to: %d\n", clk_div); | ||||||
|  |     fprintf(stderr, "len set to: %d\n", len); | ||||||
|  |     fprintf(stderr, "Slave address set to: %d\n", slave_address);    | ||||||
|  |      | ||||||
|  |     if (mode == MODE_READ) { | ||||||
|  |     	for (i=0; i<MAX_LEN; i++) buf[i] = 'n'; | ||||||
|  |     	data = bcm2835_i2c_read(buf, len); | ||||||
|  |     	printf("Read Result = %d\n", data);    | ||||||
|  |     	for (i=0; i<MAX_LEN; i++) { | ||||||
|  |     		if(buf[i] != 'n') printf("Read Buf[%d] = %x\n", i, buf[i]); | ||||||
|  | 	}     | ||||||
|  |     } | ||||||
|  |     if (mode == MODE_WRITE) { | ||||||
|  |     	data = bcm2835_i2c_write(wbuf, len); | ||||||
|  |     	printf("Write Result = %d\n", data); | ||||||
|  |     }    | ||||||
|  |  | ||||||
|  |     // This I2C end is done after a transfer if specified | ||||||
|  |     if (init == I2C_END) bcm2835_i2c_end();    | ||||||
|  |     bcm2835_close(); | ||||||
|  |     printf("... done!\n"); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
| @@ -0,0 +1,53 @@ | |||||||
|  | // input.c | ||||||
|  | // | ||||||
|  | // Example program for bcm2835 library | ||||||
|  | // Reads and prints the state of an input pin | ||||||
|  | // | ||||||
|  | // After installing bcm2835, you can build this  | ||||||
|  | // with something like: | ||||||
|  | // gcc -o input input.c -l bcm2835 | ||||||
|  | // sudo ./input | ||||||
|  | // | ||||||
|  | // Or you can test it before installing with: | ||||||
|  | // gcc -o input -I ../../src ../../src/bcm2835.c input.c | ||||||
|  | // sudo ./input | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2011 Mike McCauley | ||||||
|  | // $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  |  | ||||||
|  | // Input on RPi pin GPIO 15 | ||||||
|  | #define PIN RPI_GPIO_P1_15 | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) | ||||||
|  | { | ||||||
|  |     // If you call this, it will not actually access the GPIO | ||||||
|  |     // Use for testing | ||||||
|  | //    bcm2835_set_debug(1); | ||||||
|  |  | ||||||
|  |     if (!bcm2835_init()) | ||||||
|  | 	return 1; | ||||||
|  |  | ||||||
|  |     // Set RPI pin P1-15 to be an input | ||||||
|  |     bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_INPT); | ||||||
|  |     //  with a pullup | ||||||
|  |     bcm2835_gpio_set_pud(PIN, BCM2835_GPIO_PUD_UP); | ||||||
|  |  | ||||||
|  |     // Blink | ||||||
|  |     while (1) | ||||||
|  |     { | ||||||
|  | 	// Read some data | ||||||
|  | 	uint8_t value = bcm2835_gpio_lev(PIN); | ||||||
|  | 	printf("read from pin 15: %d\n", value); | ||||||
|  | 	 | ||||||
|  | 	// wait a bit | ||||||
|  | 	delay(500); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     bcm2835_close(); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
| @@ -0,0 +1,66 @@ | |||||||
|  | // pwm.c | ||||||
|  | // | ||||||
|  | // Example program for bcm2835 library | ||||||
|  | // Shows how to use PWM to control GPIO pins | ||||||
|  | // | ||||||
|  | // After installing bcm2835, you can build this  | ||||||
|  | // with something like: | ||||||
|  | // gcc -o pwm pwm.c -l bcm2835  | ||||||
|  | // sudo ./pwm | ||||||
|  | // | ||||||
|  | // Or you can test it before installing with: | ||||||
|  | // gcc -o pwm -I ../../src ../../src/bcm2835.c pwm.c | ||||||
|  | // sudo ./pwm | ||||||
|  | // | ||||||
|  | // Connect an LED between GPIO18 (pin 12) and GND to observe the LED changing in brightness | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2013 Mike McCauley | ||||||
|  | // $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  |  | ||||||
|  | // PWM output on RPi Plug P1 pin 12 (which is GPIO pin 18) | ||||||
|  | // in alt fun 5. | ||||||
|  | // Note that this is the _only_ PWM pin available on the RPi IO headers | ||||||
|  | #define PIN RPI_GPIO_P1_12 | ||||||
|  | // and it is controlled by PWM channel 0 | ||||||
|  | #define PWM_CHANNEL 0 | ||||||
|  | // This controls the max range of the PWM signal | ||||||
|  | #define RANGE 1024 | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) | ||||||
|  | { | ||||||
|  |     if (!bcm2835_init()) | ||||||
|  | 	return 1; | ||||||
|  |  | ||||||
|  |     // Set the output pin to Alt Fun 5, to allow PWM channel 0 to be output there | ||||||
|  |     bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_ALT5); | ||||||
|  |  | ||||||
|  |     // Clock divider is set to 16. | ||||||
|  |     // With a divider of 16 and a RANGE of 1024, in MARKSPACE mode, | ||||||
|  |     // the pulse repetition frequency will be | ||||||
|  |     // 1.2MHz/1024 = 1171.875Hz, suitable for driving a DC motor with PWM | ||||||
|  |     bcm2835_pwm_set_clock(BCM2835_PWM_CLOCK_DIVIDER_16); | ||||||
|  |     bcm2835_pwm_set_mode(PWM_CHANNEL, 1, 1); | ||||||
|  |     bcm2835_pwm_set_range(PWM_CHANNEL, RANGE); | ||||||
|  |  | ||||||
|  |     // Vary the PWM m/s ratio between 1/RANGE and (RANGE-1)/RANGE | ||||||
|  |     // over the course of a a few seconds | ||||||
|  |     int direction = 1; // 1 is increase, -1 is decrease | ||||||
|  |     int data = 1; | ||||||
|  |     while (1) | ||||||
|  |     { | ||||||
|  | 	if (data == 1) | ||||||
|  | 	    direction = 1;   // Switch to increasing | ||||||
|  | 	else if (data == RANGE-1) | ||||||
|  | 	    direction = -1;  // Switch to decreasing | ||||||
|  | 	data += direction; | ||||||
|  | 	bcm2835_pwm_set_data(PWM_CHANNEL, data); | ||||||
|  | 	bcm2835_delay(1); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     bcm2835_close(); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
| @@ -0,0 +1,56 @@ | |||||||
|  | // spi.c | ||||||
|  | // | ||||||
|  | // Example program for bcm2835 library | ||||||
|  | // Shows how to interface with SPI to transfer a byte to and from an SPI device | ||||||
|  | // | ||||||
|  | // After installing bcm2835, you can build this  | ||||||
|  | // with something like: | ||||||
|  | // gcc -o spi spi.c -l bcm2835 | ||||||
|  | // sudo ./spi | ||||||
|  | // | ||||||
|  | // Or you can test it before installing with: | ||||||
|  | // gcc -o spi -I ../../src ../../src/bcm2835.c spi.c | ||||||
|  | // sudo ./spi | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2012 Mike McCauley | ||||||
|  | // $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) | ||||||
|  | { | ||||||
|  |     // If you call this, it will not actually access the GPIO | ||||||
|  | // Use for testing | ||||||
|  | //        bcm2835_set_debug(1); | ||||||
|  |  | ||||||
|  |     if (!bcm2835_init()) | ||||||
|  |     { | ||||||
|  |       printf("bcm2835_init failed. Are you running as root??\n"); | ||||||
|  |       return 1; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     if (!bcm2835_spi_begin()) | ||||||
|  |     { | ||||||
|  |       printf("bcm2835_spi_begin failed. Are you running as root??\n"); | ||||||
|  |       return 1; | ||||||
|  |     } | ||||||
|  |     bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST);      // The default | ||||||
|  |     bcm2835_spi_setDataMode(BCM2835_SPI_MODE0);                   // The default | ||||||
|  |     bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_65536); // The default | ||||||
|  |     bcm2835_spi_chipSelect(BCM2835_SPI_CS0);                      // The default | ||||||
|  |     bcm2835_spi_setChipSelectPolarity(BCM2835_SPI_CS0, LOW);      // the default | ||||||
|  |      | ||||||
|  |     // Send a byte to the slave and simultaneously read a byte back from the slave | ||||||
|  |     // If you tie MISO to MOSI, you should read back what was sent | ||||||
|  |     uint8_t send_data = 0x23; | ||||||
|  |     uint8_t read_data = bcm2835_spi_transfer(send_data); | ||||||
|  |     printf("Sent to SPI: 0x%02X. Read back from SPI: 0x%02X.\n", send_data, read_data); | ||||||
|  |     if (send_data != read_data) | ||||||
|  |       printf("Do you have the loopback from MOSI to MISO connected?\n"); | ||||||
|  |     bcm2835_spi_end(); | ||||||
|  |     bcm2835_close(); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
| @@ -0,0 +1,63 @@ | |||||||
|  | // spin.c | ||||||
|  | // | ||||||
|  | // Example program for bcm2835 library | ||||||
|  | // Shows how to interface with SPI to transfer a number of bytes to and from an SPI device | ||||||
|  | // | ||||||
|  | // After installing bcm2835, you can build this  | ||||||
|  | // with something like: | ||||||
|  | // gcc -o spin spin.c -l bcm2835 | ||||||
|  | // sudo ./spin | ||||||
|  | // | ||||||
|  | // Or you can test it before installing with: | ||||||
|  | // gcc -o spin -I ../../src ../../src/bcm2835.c spin.c | ||||||
|  | // sudo ./spin | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2012 Mike McCauley | ||||||
|  | // $Id: RF22.h,v 1.21 2012/05/30 01:51:25 mikem Exp $ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) | ||||||
|  | { | ||||||
|  |     // If you call this, it will not actually access the GPIO | ||||||
|  | // Use for testing | ||||||
|  | //        bcm2835_set_debug(1); | ||||||
|  |      | ||||||
|  |     if (!bcm2835_init()) | ||||||
|  |     { | ||||||
|  |       printf("bcm2835_init failed. Are you running as root??\n"); | ||||||
|  |       return 1; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     if (!bcm2835_spi_begin()) | ||||||
|  |     { | ||||||
|  |       printf("bcm2835_spi_begin failed. Are you running as root??\n"); | ||||||
|  |       return 1; | ||||||
|  |     } | ||||||
|  |     bcm2835_spi_begin(); | ||||||
|  |     bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST);      // The default | ||||||
|  |     bcm2835_spi_setDataMode(BCM2835_SPI_MODE0);                   // The default | ||||||
|  |     bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_65536); // The default | ||||||
|  |     bcm2835_spi_chipSelect(BCM2835_SPI_CS0);                      // The default | ||||||
|  |     bcm2835_spi_setChipSelectPolarity(BCM2835_SPI_CS0, LOW);      // the default | ||||||
|  |      | ||||||
|  |     // Send a some bytes to the slave and simultaneously read  | ||||||
|  |     // some bytes back from the slave | ||||||
|  |     // Most SPI devices expect one or 2 bytes of command, after which they will send back | ||||||
|  |     // some data. In such a case you will have the command bytes first in the buffer, | ||||||
|  |     // followed by as many 0 bytes as you expect returned data bytes. After the transfer, you  | ||||||
|  |     // Can the read the reply bytes from the buffer. | ||||||
|  |     // If you tie MISO to MOSI, you should read back what was sent. | ||||||
|  |      | ||||||
|  |     char buf[] = { 0x01, 0x02, 0x11, 0x33 }; // Data to send | ||||||
|  |     bcm2835_spi_transfern(buf, sizeof(buf)); | ||||||
|  |     // buf will now be filled with the data that was read from the slave | ||||||
|  |     printf("Read from SPI: %02X  %02X  %02X  %02X \n", buf[0], buf[1], buf[2], buf[3]); | ||||||
|  |      | ||||||
|  |     bcm2835_spi_end(); | ||||||
|  |     bcm2835_close(); | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
| @@ -0,0 +1,92 @@ | |||||||
|  | // spiram.c | ||||||
|  | // | ||||||
|  | // Little library for accessing  SPI RAM such as 23K256-I/P | ||||||
|  | // using bcm2835 library on Raspberry Pi | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2018 Mike McCauley | ||||||
|  | // This software is part of the bcm2835 library and is licensed under the same conditions | ||||||
|  | // $Id:  $ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <string.h> // memcpy | ||||||
|  | #include "spiram.h" | ||||||
|  |  | ||||||
|  | static uint8_t _mode = SPIRAM_MODE_INVALID; | ||||||
|  |  | ||||||
|  | uint8_t spiram_read_sr() | ||||||
|  | { | ||||||
|  |   uint8_t command[] = { SPIRAM_OPCODE_READ_SR, 0}; | ||||||
|  |   bcm2835_spi_transfern(command, sizeof(command)); | ||||||
|  |   return command[1]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | bool spiram_write_sr(uint8_t value) | ||||||
|  | { | ||||||
|  |   uint8_t command[] = { SPIRAM_OPCODE_WRITE_SR, value}; | ||||||
|  |   bcm2835_spi_transfern(command, sizeof(command)); | ||||||
|  |   return true; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | bool spiram_set_mode(uint8_t mode) | ||||||
|  | { | ||||||
|  |   if (mode != _mode) | ||||||
|  |     { | ||||||
|  |       spiram_write_sr(mode); | ||||||
|  |       _mode = mode; | ||||||
|  |     } | ||||||
|  |   return true; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | bool spiram_begin() | ||||||
|  | { | ||||||
|  |   _mode = SPIRAM_MODE_BYTE; | ||||||
|  |    | ||||||
|  |   bcm2835_spi_setBitOrder(BCM2835_SPI_BIT_ORDER_MSBFIRST);      // The default | ||||||
|  |   bcm2835_spi_setDataMode(BCM2835_SPI_MODE0);                   // The default | ||||||
|  |   bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_65536); // The default | ||||||
|  |   bcm2835_spi_chipSelect(BCM2835_SPI_CS0);                      // The default | ||||||
|  |   bcm2835_spi_setChipSelectPolarity(BCM2835_SPI_CS0, LOW);      // the default | ||||||
|  |   return true; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | bool spiram_end() | ||||||
|  | { | ||||||
|  |   bcm2835_spi_end(); | ||||||
|  |   return true; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  | uint8_t spiram_read_byte(uint16_t address) | ||||||
|  | { | ||||||
|  |   spiram_set_mode(SPIRAM_MODE_BYTE); | ||||||
|  |   uint8_t command[] = { SPIRAM_OPCODE_READ, (address >> 8) & 0xff, address & 0xff, 0xff }; | ||||||
|  |   bcm2835_spi_transfern(command, sizeof(command)); | ||||||
|  |   uint8_t ret = command[3]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | bool spiram_write_byte(uint16_t address, uint8_t value) | ||||||
|  | { | ||||||
|  |   spiram_set_mode(SPIRAM_MODE_BYTE); | ||||||
|  |   uint8_t command[] = { SPIRAM_OPCODE_WRITE, (address >> 8) & 0xff, address & 0xff, value }; | ||||||
|  |   bcm2835_spi_writenb(command, sizeof(command)); | ||||||
|  |   return true; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | bool spiram_read_page(uint16_t address, uint8_t *buf) | ||||||
|  | { | ||||||
|  |   spiram_set_mode(SPIRAM_MODE_PAGE); | ||||||
|  |   uint8_t command[3 + SPIRAM_PAGE_SIZE] = { SPIRAM_OPCODE_READ, (address >> 8) & 0xff, address & 0xff }; | ||||||
|  |   bcm2835_spi_transfern(command, sizeof(command)); | ||||||
|  |   memcpy(buf, command + 3, SPIRAM_PAGE_SIZE); | ||||||
|  |   return true; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | bool spiram_write_page(uint16_t address, uint8_t *buf) | ||||||
|  | { | ||||||
|  |   spiram_set_mode(SPIRAM_MODE_PAGE); | ||||||
|  |   uint8_t command[3 + SPIRAM_PAGE_SIZE] = { SPIRAM_OPCODE_WRITE, (address >> 8) & 0xff, address & 0xff }; | ||||||
|  |   memcpy(command + 3, buf, SPIRAM_PAGE_SIZE);; | ||||||
|  |   bcm2835_spi_writenb(command, sizeof(command)); | ||||||
|  |   return true; | ||||||
|  | } | ||||||
| @@ -0,0 +1,102 @@ | |||||||
|  | // spiram.h | ||||||
|  | // | ||||||
|  | // Header for a Little Library for accessing SPI RAM chips such as 23K256-I/P | ||||||
|  | // using bcm2835 library on Raspberry Pi | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2018 Mike McCauley | ||||||
|  | // This software is part of the bcm2835 library and is licensed under the same conditions | ||||||
|  | // $Id:  $ | ||||||
|  |  | ||||||
|  | #include <stdbool.h> // bool, true, false | ||||||
|  |  | ||||||
|  | #ifndef SPIRAM_h | ||||||
|  | #define SPIRAM_h | ||||||
|  |  | ||||||
|  | #define SPIRAM_HOLD_DISABLE     0x1 | ||||||
|  | #define SPIRAM_MODE_BYTE       (0x00 | SPIRAM_HOLD_DISABLE) | ||||||
|  | #define SPIRAM_MODE_PAGE       (0x80 | SPIRAM_HOLD_DISABLE) | ||||||
|  | #define SPIRAM_MODE_STREAM     (0x40 | SPIRAM_HOLD_DISABLE) | ||||||
|  | #define SPIRAM_MODE_INVALID    0xff | ||||||
|  | #define SPIRAM_OPCODE_READ_SR  0x05 | ||||||
|  | #define SPIRAM_OPCODE_WRITE_SR 0x01 | ||||||
|  | #define SPIRAM_OPCODE_READ     0x03 | ||||||
|  | #define SPIRAM_OPCODE_WRITE    0x02 | ||||||
|  |  | ||||||
|  | /* Size of a page in 23K256 */ | ||||||
|  | #define SPIRAM_PAGE_SIZE       32 | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * This library allows you to read and write data from an external SPI interfaced static ram (SRAM) | ||||||
|  |  * such as 23K256 (256kbit = 32kByte) | ||||||
|  |  * Byte and POage modes are supported. | ||||||
|  |  * Valid addresses are from 0x0000 to 0x7fff | ||||||
|  |  * Tested on RPI 3 Model B, Raspbian Jessie | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Initialise the spiram library, enables SPI with default divider of  | ||||||
|  |  * BCM2835_SPI_CLOCK_DIVIDER_65536 = 6.1035156kHz on RPI3. | ||||||
|  |  * You can change the SPI speed after calling this by calling bcm2835_spi_setClockDivider() | ||||||
|  |  * Returns true on success, false otherwise | ||||||
|  |  */ | ||||||
|  | bool spiram_begin(); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Stops using the RPI SPI functions and returns the GPIO pins to their default behaviour. | ||||||
|  |  * Call this when you have finished using SPI forever, or at the end of your program | ||||||
|  |  * Returns true on success, false otherwise | ||||||
|  |  */ | ||||||
|  | bool spiram_end(); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Read and returns the current value of the SRAM status register | ||||||
|  |  */ | ||||||
|  | uint8_t spiram_read_sr(); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Write a new value to the SRAM status register,  | ||||||
|  |  * usually one of SPIRAM_MODE_* | ||||||
|  |  * You should never need to call this directly. Used internally. | ||||||
|  |  * Returns true on success, false otherwise | ||||||
|  |  */ | ||||||
|  | bool spiram_write_sr(uint8_t value); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Set the operating mode of the SRAM. | ||||||
|  |  * Mode is one of  SPIRAM_MODE_*. THis is done automatically  | ||||||
|  |  * by the spiram_write_* and spiram_read_* functions, so you would not normally | ||||||
|  |  * need to call this directly. | ||||||
|  |  * Returns true on success, false otherwise | ||||||
|  |  */ | ||||||
|  | bool spiram_set_mode(uint8_t mode); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Reads a single byte from the given address and returns it. | ||||||
|  |  */ | ||||||
|  | uint8_t spiram_read_byte(uint16_t address); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Writes a single byte to the given address. | ||||||
|  |  * Returns true on success, false otherwise | ||||||
|  |  */ | ||||||
|  | bool spiram_write_byte(uint16_t address, uint8_t value); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Reads a whole page of data (32 bytes) from the page starting at the given address. | ||||||
|  |  * The read data is placed in buf. Be sure that there is enough rom there for it. | ||||||
|  |  * Caution: if the starting address is not on a page boundary,  | ||||||
|  |  * it will wrap back to the beginning of the page. | ||||||
|  |  * Returns true on success, false otherwise | ||||||
|  |  */ | ||||||
|  | bool spiram_read_page(uint16_t address, uint8_t *buf); | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Writes a whole page of data (32 bytes) to the page starting at the given address. | ||||||
|  |  * Caution: if the starting address is not on a page boundary,  | ||||||
|  |  * it will wrap back to the beginning of the page. | ||||||
|  |  * Returns true on success, false otherwise | ||||||
|  |  */ | ||||||
|  | bool spiram_write_page(uint16_t address, uint8_t *buf); | ||||||
|  |  | ||||||
|  | #endif | ||||||
| @@ -0,0 +1,99 @@ | |||||||
|  | // spiram_test.c | ||||||
|  | // | ||||||
|  | // Example program for bcm2835  | ||||||
|  | // Shows how to interface with SPI RAM such as 23K256-I/P | ||||||
|  | // using the spiram little library | ||||||
|  | // | ||||||
|  | // Tested on RPI 3 Model B, Raspbian Jessie | ||||||
|  | // Tested at full speed over many hours with no errors. | ||||||
|  | // | ||||||
|  | // Connect RPi 3 B to 23K256-I/P like this: | ||||||
|  | // RPi pin    Function     23K256-I/P pin (name) | ||||||
|  | // J1-6       GND          4 (VSS) | ||||||
|  | // J1-1       3.3V         8 (VCC) | ||||||
|  | //                    and  7 (/HOLD) | ||||||
|  | // J1-19      SPI0_MOSI    5 (SI) | ||||||
|  | // J1-21      SPI0_MISO    2 (SO) | ||||||
|  | // J1-23      SPI0_SCLK    6 (SCK) | ||||||
|  | // J1-24      SPI0_CE0_N   1 (/CS) | ||||||
|  | // | ||||||
|  | // After installing bcm2835, you can build this | ||||||
|  | // with something like: | ||||||
|  | // gcc -o spiram_test spiram.c spiram_test.c -l bcm2835 | ||||||
|  | // sudo ./spiram_test | ||||||
|  | // | ||||||
|  | // Or you can test it before installing with: | ||||||
|  | // gcc -o spiram_test -I ../../src ../../src/bcm2835.c spiram.c spiram_test.c | ||||||
|  | // sudo ./spiram_test | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2018 Mike McCauley | ||||||
|  | // $Id:  $ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <string.h> // memcmp | ||||||
|  | #include "spiram.h" | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) | ||||||
|  | { | ||||||
|  |   if (!bcm2835_init()) | ||||||
|  |     { | ||||||
|  |       printf("bcm2835_init failed. Are you running as root??\n"); | ||||||
|  |       return 1; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |   if (!bcm2835_spi_begin()) | ||||||
|  |     { | ||||||
|  |       printf("bcm2835_spi_begin failed. Are you running as root??\n"); | ||||||
|  |       return 1; | ||||||
|  |     } | ||||||
|  |   if (!spiram_begin()) | ||||||
|  |     { | ||||||
|  |       printf("spiram_begin failed.\n"); | ||||||
|  |       return 1; | ||||||
|  |     } | ||||||
|  |   /* You can speed things up by selecting a faster SPI speed | ||||||
|  |   // after spiram_begin, which defaults to BCM2835_SPI_CLOCK_DIVIDER_65536 = 6.1035156kHz on RPI3 | ||||||
|  |   */ | ||||||
|  |   bcm2835_spi_setClockDivider(BCM2835_SPI_CLOCK_DIVIDER_64); // 6.25MHz on RPI3 | ||||||
|  |  | ||||||
|  |   uint8_t value = 0; | ||||||
|  |   uint16_t address = 0x0000; | ||||||
|  |   while (1) | ||||||
|  |     { | ||||||
|  |       uint8_t ret; | ||||||
|  |  | ||||||
|  |       /*      ret = spiram_read_sr();*/ | ||||||
|  |       spiram_write_byte(address, value); | ||||||
|  |       ret = spiram_read_byte(address); | ||||||
|  |       if (ret != value) | ||||||
|  | 	printf("ERROR: spiram_read_byte address %04x got %02x, expected %02x\n", address, ret, value); | ||||||
|  | #if 0 | ||||||
|  |       printf("spiram_read_byte at address %04x got %02x\n", address, ret); | ||||||
|  | #endif | ||||||
|  |        | ||||||
|  |       uint8_t write_page_buf[SPIRAM_PAGE_SIZE] = { 0, value, value, value }; | ||||||
|  |       uint8_t read_page_buf[SPIRAM_PAGE_SIZE]; | ||||||
|  |       spiram_write_page(address, write_page_buf); | ||||||
|  |      | ||||||
|  |       spiram_read_page(address, read_page_buf); | ||||||
|  |       if (memcmp(write_page_buf, read_page_buf, SPIRAM_PAGE_SIZE) != 0) | ||||||
|  | 	printf("ERROR: spiram_read_page at address %04x\n", address); | ||||||
|  | #if 0 | ||||||
|  |       printf("spiram_read_page address %04x got ", address); | ||||||
|  |       int i; | ||||||
|  |       for (i = 0; i < SPIRAM_PAGE_SIZE; i++) | ||||||
|  | 	printf("%02x ", read_page_buf[i]); | ||||||
|  |       printf("\n"); | ||||||
|  | #endif | ||||||
|  |       /* sleep(1); */ | ||||||
|  |       value++; | ||||||
|  |       address++; | ||||||
|  |     } | ||||||
|  |    | ||||||
|  |   spiram_end(); | ||||||
|  |   bcm2835_close(); | ||||||
|  |   return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										520
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/install-sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										520
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/install-sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,520 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | # install - install a program, script, or datafile | ||||||
|  |  | ||||||
|  | scriptversion=2009-04-28.21; # UTC | ||||||
|  |  | ||||||
|  | # This originates from X11R5 (mit/util/scripts/install.sh), which was | ||||||
|  | # later released in X11R6 (xc/config/util/install.sh) with the | ||||||
|  | # following copyright and license. | ||||||
|  | # | ||||||
|  | # Copyright (C) 1994 X Consortium | ||||||
|  | # | ||||||
|  | # Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
|  | # of this software and associated documentation files (the "Software"), to | ||||||
|  | # deal in the Software without restriction, including without limitation the | ||||||
|  | # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||||||
|  | # sell copies of the Software, and to permit persons to whom the Software is | ||||||
|  | # furnished to do so, subject to the following conditions: | ||||||
|  | # | ||||||
|  | # The above copyright notice and this permission notice shall be included in | ||||||
|  | # all copies or substantial portions of the Software. | ||||||
|  | # | ||||||
|  | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||||
|  | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE | ||||||
|  | # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||||||
|  | # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- | ||||||
|  | # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||||
|  | # | ||||||
|  | # Except as contained in this notice, the name of the X Consortium shall not | ||||||
|  | # be used in advertising or otherwise to promote the sale, use or other deal- | ||||||
|  | # ings in this Software without prior written authorization from the X Consor- | ||||||
|  | # tium. | ||||||
|  | # | ||||||
|  | # | ||||||
|  | # FSF changes to this file are in the public domain. | ||||||
|  | # | ||||||
|  | # Calling this script install-sh is preferred over install.sh, to prevent | ||||||
|  | # `make' implicit rules from creating a file called install from it | ||||||
|  | # when there is no Makefile. | ||||||
|  | # | ||||||
|  | # This script is compatible with the BSD install script, but was written | ||||||
|  | # from scratch. | ||||||
|  |  | ||||||
|  | nl=' | ||||||
|  | ' | ||||||
|  | IFS=" ""	$nl" | ||||||
|  |  | ||||||
|  | # set DOITPROG to echo to test this script | ||||||
|  |  | ||||||
|  | # Don't use :- since 4.3BSD and earlier shells don't like it. | ||||||
|  | doit=${DOITPROG-} | ||||||
|  | if test -z "$doit"; then | ||||||
|  |   doit_exec=exec | ||||||
|  | else | ||||||
|  |   doit_exec=$doit | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | # Put in absolute file names if you don't have them in your path; | ||||||
|  | # or use environment vars. | ||||||
|  |  | ||||||
|  | chgrpprog=${CHGRPPROG-chgrp} | ||||||
|  | chmodprog=${CHMODPROG-chmod} | ||||||
|  | chownprog=${CHOWNPROG-chown} | ||||||
|  | cmpprog=${CMPPROG-cmp} | ||||||
|  | cpprog=${CPPROG-cp} | ||||||
|  | mkdirprog=${MKDIRPROG-mkdir} | ||||||
|  | mvprog=${MVPROG-mv} | ||||||
|  | rmprog=${RMPROG-rm} | ||||||
|  | stripprog=${STRIPPROG-strip} | ||||||
|  |  | ||||||
|  | posix_glob='?' | ||||||
|  | initialize_posix_glob=' | ||||||
|  |   test "$posix_glob" != "?" || { | ||||||
|  |     if (set -f) 2>/dev/null; then | ||||||
|  |       posix_glob= | ||||||
|  |     else | ||||||
|  |       posix_glob=: | ||||||
|  |     fi | ||||||
|  |   } | ||||||
|  | ' | ||||||
|  |  | ||||||
|  | posix_mkdir= | ||||||
|  |  | ||||||
|  | # Desired mode of installed file. | ||||||
|  | mode=0755 | ||||||
|  |  | ||||||
|  | chgrpcmd= | ||||||
|  | chmodcmd=$chmodprog | ||||||
|  | chowncmd= | ||||||
|  | mvcmd=$mvprog | ||||||
|  | rmcmd="$rmprog -f" | ||||||
|  | stripcmd= | ||||||
|  |  | ||||||
|  | src= | ||||||
|  | dst= | ||||||
|  | dir_arg= | ||||||
|  | dst_arg= | ||||||
|  |  | ||||||
|  | copy_on_change=false | ||||||
|  | no_target_directory= | ||||||
|  |  | ||||||
|  | usage="\ | ||||||
|  | Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE | ||||||
|  |    or: $0 [OPTION]... SRCFILES... DIRECTORY | ||||||
|  |    or: $0 [OPTION]... -t DIRECTORY SRCFILES... | ||||||
|  |    or: $0 [OPTION]... -d DIRECTORIES... | ||||||
|  |  | ||||||
|  | In the 1st form, copy SRCFILE to DSTFILE. | ||||||
|  | In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. | ||||||
|  | In the 4th, create DIRECTORIES. | ||||||
|  |  | ||||||
|  | Options: | ||||||
|  |      --help     display this help and exit. | ||||||
|  |      --version  display version info and exit. | ||||||
|  |  | ||||||
|  |   -c            (ignored) | ||||||
|  |   -C            install only if different (preserve the last data modification time) | ||||||
|  |   -d            create directories instead of installing files. | ||||||
|  |   -g GROUP      $chgrpprog installed files to GROUP. | ||||||
|  |   -m MODE       $chmodprog installed files to MODE. | ||||||
|  |   -o USER       $chownprog installed files to USER. | ||||||
|  |   -s            $stripprog installed files. | ||||||
|  |   -t DIRECTORY  install into DIRECTORY. | ||||||
|  |   -T            report an error if DSTFILE is a directory. | ||||||
|  |  | ||||||
|  | Environment variables override the default commands: | ||||||
|  |   CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG | ||||||
|  |   RMPROG STRIPPROG | ||||||
|  | " | ||||||
|  |  | ||||||
|  | while test $# -ne 0; do | ||||||
|  |   case $1 in | ||||||
|  |     -c) ;; | ||||||
|  |  | ||||||
|  |     -C) copy_on_change=true;; | ||||||
|  |  | ||||||
|  |     -d) dir_arg=true;; | ||||||
|  |  | ||||||
|  |     -g) chgrpcmd="$chgrpprog $2" | ||||||
|  | 	shift;; | ||||||
|  |  | ||||||
|  |     --help) echo "$usage"; exit $?;; | ||||||
|  |  | ||||||
|  |     -m) mode=$2 | ||||||
|  | 	case $mode in | ||||||
|  | 	  *' '* | *'	'* | *' | ||||||
|  | '*	  | *'*'* | *'?'* | *'['*) | ||||||
|  | 	    echo "$0: invalid mode: $mode" >&2 | ||||||
|  | 	    exit 1;; | ||||||
|  | 	esac | ||||||
|  | 	shift;; | ||||||
|  |  | ||||||
|  |     -o) chowncmd="$chownprog $2" | ||||||
|  | 	shift;; | ||||||
|  |  | ||||||
|  |     -s) stripcmd=$stripprog;; | ||||||
|  |  | ||||||
|  |     -t) dst_arg=$2 | ||||||
|  | 	shift;; | ||||||
|  |  | ||||||
|  |     -T) no_target_directory=true;; | ||||||
|  |  | ||||||
|  |     --version) echo "$0 $scriptversion"; exit $?;; | ||||||
|  |  | ||||||
|  |     --)	shift | ||||||
|  | 	break;; | ||||||
|  |  | ||||||
|  |     -*)	echo "$0: invalid option: $1" >&2 | ||||||
|  | 	exit 1;; | ||||||
|  |  | ||||||
|  |     *)  break;; | ||||||
|  |   esac | ||||||
|  |   shift | ||||||
|  | done | ||||||
|  |  | ||||||
|  | if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then | ||||||
|  |   # When -d is used, all remaining arguments are directories to create. | ||||||
|  |   # When -t is used, the destination is already specified. | ||||||
|  |   # Otherwise, the last argument is the destination.  Remove it from $@. | ||||||
|  |   for arg | ||||||
|  |   do | ||||||
|  |     if test -n "$dst_arg"; then | ||||||
|  |       # $@ is not empty: it contains at least $arg. | ||||||
|  |       set fnord "$@" "$dst_arg" | ||||||
|  |       shift # fnord | ||||||
|  |     fi | ||||||
|  |     shift # arg | ||||||
|  |     dst_arg=$arg | ||||||
|  |   done | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if test $# -eq 0; then | ||||||
|  |   if test -z "$dir_arg"; then | ||||||
|  |     echo "$0: no input file specified." >&2 | ||||||
|  |     exit 1 | ||||||
|  |   fi | ||||||
|  |   # It's OK to call `install-sh -d' without argument. | ||||||
|  |   # This can happen when creating conditional directories. | ||||||
|  |   exit 0 | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if test -z "$dir_arg"; then | ||||||
|  |   trap '(exit $?); exit' 1 2 13 15 | ||||||
|  |  | ||||||
|  |   # Set umask so as not to create temps with too-generous modes. | ||||||
|  |   # However, 'strip' requires both read and write access to temps. | ||||||
|  |   case $mode in | ||||||
|  |     # Optimize common cases. | ||||||
|  |     *644) cp_umask=133;; | ||||||
|  |     *755) cp_umask=22;; | ||||||
|  |  | ||||||
|  |     *[0-7]) | ||||||
|  |       if test -z "$stripcmd"; then | ||||||
|  | 	u_plus_rw= | ||||||
|  |       else | ||||||
|  | 	u_plus_rw='% 200' | ||||||
|  |       fi | ||||||
|  |       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; | ||||||
|  |     *) | ||||||
|  |       if test -z "$stripcmd"; then | ||||||
|  | 	u_plus_rw= | ||||||
|  |       else | ||||||
|  | 	u_plus_rw=,u+rw | ||||||
|  |       fi | ||||||
|  |       cp_umask=$mode$u_plus_rw;; | ||||||
|  |   esac | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | for src | ||||||
|  | do | ||||||
|  |   # Protect names starting with `-'. | ||||||
|  |   case $src in | ||||||
|  |     -*) src=./$src;; | ||||||
|  |   esac | ||||||
|  |  | ||||||
|  |   if test -n "$dir_arg"; then | ||||||
|  |     dst=$src | ||||||
|  |     dstdir=$dst | ||||||
|  |     test -d "$dstdir" | ||||||
|  |     dstdir_status=$? | ||||||
|  |   else | ||||||
|  |  | ||||||
|  |     # Waiting for this to be detected by the "$cpprog $src $dsttmp" command | ||||||
|  |     # might cause directories to be created, which would be especially bad | ||||||
|  |     # if $src (and thus $dsttmp) contains '*'. | ||||||
|  |     if test ! -f "$src" && test ! -d "$src"; then | ||||||
|  |       echo "$0: $src does not exist." >&2 | ||||||
|  |       exit 1 | ||||||
|  |     fi | ||||||
|  |  | ||||||
|  |     if test -z "$dst_arg"; then | ||||||
|  |       echo "$0: no destination specified." >&2 | ||||||
|  |       exit 1 | ||||||
|  |     fi | ||||||
|  |  | ||||||
|  |     dst=$dst_arg | ||||||
|  |     # Protect names starting with `-'. | ||||||
|  |     case $dst in | ||||||
|  |       -*) dst=./$dst;; | ||||||
|  |     esac | ||||||
|  |  | ||||||
|  |     # If destination is a directory, append the input filename; won't work | ||||||
|  |     # if double slashes aren't ignored. | ||||||
|  |     if test -d "$dst"; then | ||||||
|  |       if test -n "$no_target_directory"; then | ||||||
|  | 	echo "$0: $dst_arg: Is a directory" >&2 | ||||||
|  | 	exit 1 | ||||||
|  |       fi | ||||||
|  |       dstdir=$dst | ||||||
|  |       dst=$dstdir/`basename "$src"` | ||||||
|  |       dstdir_status=0 | ||||||
|  |     else | ||||||
|  |       # Prefer dirname, but fall back on a substitute if dirname fails. | ||||||
|  |       dstdir=` | ||||||
|  | 	(dirname "$dst") 2>/dev/null || | ||||||
|  | 	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||||||
|  | 	     X"$dst" : 'X\(//\)[^/]' \| \ | ||||||
|  | 	     X"$dst" : 'X\(//\)$' \| \ | ||||||
|  | 	     X"$dst" : 'X\(/\)' \| . 2>/dev/null || | ||||||
|  | 	echo X"$dst" | | ||||||
|  | 	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | ||||||
|  | 		   s//\1/ | ||||||
|  | 		   q | ||||||
|  | 		 } | ||||||
|  | 		 /^X\(\/\/\)[^/].*/{ | ||||||
|  | 		   s//\1/ | ||||||
|  | 		   q | ||||||
|  | 		 } | ||||||
|  | 		 /^X\(\/\/\)$/{ | ||||||
|  | 		   s//\1/ | ||||||
|  | 		   q | ||||||
|  | 		 } | ||||||
|  | 		 /^X\(\/\).*/{ | ||||||
|  | 		   s//\1/ | ||||||
|  | 		   q | ||||||
|  | 		 } | ||||||
|  | 		 s/.*/./; q' | ||||||
|  |       ` | ||||||
|  |  | ||||||
|  |       test -d "$dstdir" | ||||||
|  |       dstdir_status=$? | ||||||
|  |     fi | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   obsolete_mkdir_used=false | ||||||
|  |  | ||||||
|  |   if test $dstdir_status != 0; then | ||||||
|  |     case $posix_mkdir in | ||||||
|  |       '') | ||||||
|  | 	# Create intermediate dirs using mode 755 as modified by the umask. | ||||||
|  | 	# This is like FreeBSD 'install' as of 1997-10-28. | ||||||
|  | 	umask=`umask` | ||||||
|  | 	case $stripcmd.$umask in | ||||||
|  | 	  # Optimize common cases. | ||||||
|  | 	  *[2367][2367]) mkdir_umask=$umask;; | ||||||
|  | 	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; | ||||||
|  |  | ||||||
|  | 	  *[0-7]) | ||||||
|  | 	    mkdir_umask=`expr $umask + 22 \ | ||||||
|  | 	      - $umask % 100 % 40 + $umask % 20 \ | ||||||
|  | 	      - $umask % 10 % 4 + $umask % 2 | ||||||
|  | 	    `;; | ||||||
|  | 	  *) mkdir_umask=$umask,go-w;; | ||||||
|  | 	esac | ||||||
|  |  | ||||||
|  | 	# With -d, create the new directory with the user-specified mode. | ||||||
|  | 	# Otherwise, rely on $mkdir_umask. | ||||||
|  | 	if test -n "$dir_arg"; then | ||||||
|  | 	  mkdir_mode=-m$mode | ||||||
|  | 	else | ||||||
|  | 	  mkdir_mode= | ||||||
|  | 	fi | ||||||
|  |  | ||||||
|  | 	posix_mkdir=false | ||||||
|  | 	case $umask in | ||||||
|  | 	  *[123567][0-7][0-7]) | ||||||
|  | 	    # POSIX mkdir -p sets u+wx bits regardless of umask, which | ||||||
|  | 	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0. | ||||||
|  | 	    ;; | ||||||
|  | 	  *) | ||||||
|  | 	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ | ||||||
|  | 	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 | ||||||
|  |  | ||||||
|  | 	    if (umask $mkdir_umask && | ||||||
|  | 		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 | ||||||
|  | 	    then | ||||||
|  | 	      if test -z "$dir_arg" || { | ||||||
|  | 		   # Check for POSIX incompatibilities with -m. | ||||||
|  | 		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or | ||||||
|  | 		   # other-writeable bit of parent directory when it shouldn't. | ||||||
|  | 		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. | ||||||
|  | 		   ls_ld_tmpdir=`ls -ld "$tmpdir"` | ||||||
|  | 		   case $ls_ld_tmpdir in | ||||||
|  | 		     d????-?r-*) different_mode=700;; | ||||||
|  | 		     d????-?--*) different_mode=755;; | ||||||
|  | 		     *) false;; | ||||||
|  | 		   esac && | ||||||
|  | 		   $mkdirprog -m$different_mode -p -- "$tmpdir" && { | ||||||
|  | 		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"` | ||||||
|  | 		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" | ||||||
|  | 		   } | ||||||
|  | 		 } | ||||||
|  | 	      then posix_mkdir=: | ||||||
|  | 	      fi | ||||||
|  | 	      rmdir "$tmpdir/d" "$tmpdir" | ||||||
|  | 	    else | ||||||
|  | 	      # Remove any dirs left behind by ancient mkdir implementations. | ||||||
|  | 	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null | ||||||
|  | 	    fi | ||||||
|  | 	    trap '' 0;; | ||||||
|  | 	esac;; | ||||||
|  |     esac | ||||||
|  |  | ||||||
|  |     if | ||||||
|  |       $posix_mkdir && ( | ||||||
|  | 	umask $mkdir_umask && | ||||||
|  | 	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" | ||||||
|  |       ) | ||||||
|  |     then : | ||||||
|  |     else | ||||||
|  |  | ||||||
|  |       # The umask is ridiculous, or mkdir does not conform to POSIX, | ||||||
|  |       # or it failed possibly due to a race condition.  Create the | ||||||
|  |       # directory the slow way, step by step, checking for races as we go. | ||||||
|  |  | ||||||
|  |       case $dstdir in | ||||||
|  | 	/*) prefix='/';; | ||||||
|  | 	-*) prefix='./';; | ||||||
|  | 	*)  prefix='';; | ||||||
|  |       esac | ||||||
|  |  | ||||||
|  |       eval "$initialize_posix_glob" | ||||||
|  |  | ||||||
|  |       oIFS=$IFS | ||||||
|  |       IFS=/ | ||||||
|  |       $posix_glob set -f | ||||||
|  |       set fnord $dstdir | ||||||
|  |       shift | ||||||
|  |       $posix_glob set +f | ||||||
|  |       IFS=$oIFS | ||||||
|  |  | ||||||
|  |       prefixes= | ||||||
|  |  | ||||||
|  |       for d | ||||||
|  |       do | ||||||
|  | 	test -z "$d" && continue | ||||||
|  |  | ||||||
|  | 	prefix=$prefix$d | ||||||
|  | 	if test -d "$prefix"; then | ||||||
|  | 	  prefixes= | ||||||
|  | 	else | ||||||
|  | 	  if $posix_mkdir; then | ||||||
|  | 	    (umask=$mkdir_umask && | ||||||
|  | 	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break | ||||||
|  | 	    # Don't fail if two instances are running concurrently. | ||||||
|  | 	    test -d "$prefix" || exit 1 | ||||||
|  | 	  else | ||||||
|  | 	    case $prefix in | ||||||
|  | 	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; | ||||||
|  | 	      *) qprefix=$prefix;; | ||||||
|  | 	    esac | ||||||
|  | 	    prefixes="$prefixes '$qprefix'" | ||||||
|  | 	  fi | ||||||
|  | 	fi | ||||||
|  | 	prefix=$prefix/ | ||||||
|  |       done | ||||||
|  |  | ||||||
|  |       if test -n "$prefixes"; then | ||||||
|  | 	# Don't fail if two instances are running concurrently. | ||||||
|  | 	(umask $mkdir_umask && | ||||||
|  | 	 eval "\$doit_exec \$mkdirprog $prefixes") || | ||||||
|  | 	  test -d "$dstdir" || exit 1 | ||||||
|  | 	obsolete_mkdir_used=true | ||||||
|  |       fi | ||||||
|  |     fi | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   if test -n "$dir_arg"; then | ||||||
|  |     { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && | ||||||
|  |     { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && | ||||||
|  |     { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || | ||||||
|  |       test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 | ||||||
|  |   else | ||||||
|  |  | ||||||
|  |     # Make a couple of temp file names in the proper directory. | ||||||
|  |     dsttmp=$dstdir/_inst.$$_ | ||||||
|  |     rmtmp=$dstdir/_rm.$$_ | ||||||
|  |  | ||||||
|  |     # Trap to clean up those temp files at exit. | ||||||
|  |     trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 | ||||||
|  |  | ||||||
|  |     # Copy the file name to the temp name. | ||||||
|  |     (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && | ||||||
|  |  | ||||||
|  |     # and set any options; do chmod last to preserve setuid bits. | ||||||
|  |     # | ||||||
|  |     # If any of these fail, we abort the whole thing.  If we want to | ||||||
|  |     # ignore errors from any of these, just make sure not to ignore | ||||||
|  |     # errors from the above "$doit $cpprog $src $dsttmp" command. | ||||||
|  |     # | ||||||
|  |     { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && | ||||||
|  |     { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && | ||||||
|  |     { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && | ||||||
|  |     { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && | ||||||
|  |  | ||||||
|  |     # If -C, don't bother to copy if it wouldn't change the file. | ||||||
|  |     if $copy_on_change && | ||||||
|  |        old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` && | ||||||
|  |        new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` && | ||||||
|  |  | ||||||
|  |        eval "$initialize_posix_glob" && | ||||||
|  |        $posix_glob set -f && | ||||||
|  |        set X $old && old=:$2:$4:$5:$6 && | ||||||
|  |        set X $new && new=:$2:$4:$5:$6 && | ||||||
|  |        $posix_glob set +f && | ||||||
|  |  | ||||||
|  |        test "$old" = "$new" && | ||||||
|  |        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 | ||||||
|  |     then | ||||||
|  |       rm -f "$dsttmp" | ||||||
|  |     else | ||||||
|  |       # Rename the file to the real destination. | ||||||
|  |       $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || | ||||||
|  |  | ||||||
|  |       # The rename failed, perhaps because mv can't rename something else | ||||||
|  |       # to itself, or perhaps because mv is so ancient that it does not | ||||||
|  |       # support -f. | ||||||
|  |       { | ||||||
|  | 	# Now remove or move aside any old file at destination location. | ||||||
|  | 	# We try this two ways since rm can't unlink itself on some | ||||||
|  | 	# systems and the destination file might be busy for other | ||||||
|  | 	# reasons.  In this case, the final cleanup might fail but the new | ||||||
|  | 	# file should still install successfully. | ||||||
|  | 	{ | ||||||
|  | 	  test ! -f "$dst" || | ||||||
|  | 	  $doit $rmcmd -f "$dst" 2>/dev/null || | ||||||
|  | 	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && | ||||||
|  | 	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } | ||||||
|  | 	  } || | ||||||
|  | 	  { echo "$0: cannot unlink or rename $dst" >&2 | ||||||
|  | 	    (exit 1); exit 1 | ||||||
|  | 	  } | ||||||
|  | 	} && | ||||||
|  |  | ||||||
|  | 	# Now rename the file to the real destination. | ||||||
|  | 	$doit $mvcmd "$dsttmp" "$dst" | ||||||
|  |       } | ||||||
|  |     fi || exit 1 | ||||||
|  |  | ||||||
|  |     trap '' 0 | ||||||
|  |   fi | ||||||
|  | done | ||||||
|  |  | ||||||
|  | # Local variables: | ||||||
|  | # eval: (add-hook 'write-file-hooks 'time-stamp) | ||||||
|  | # time-stamp-start: "scriptversion=" | ||||||
|  | # time-stamp-format: "%:y-%02m-%02d.%02H" | ||||||
|  | # time-stamp-time-zone: "UTC" | ||||||
|  | # time-stamp-end: "; # UTC" | ||||||
|  | # End: | ||||||
							
								
								
									
										9636
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/ltmain.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9636
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/ltmain.sh
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										215
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										215
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,215 @@ | |||||||
|  | #! /bin/sh | ||||||
|  | # Common wrapper for a few potentially missing GNU programs. | ||||||
|  |  | ||||||
|  | scriptversion=2012-06-26.16; # UTC | ||||||
|  |  | ||||||
|  | # Copyright (C) 1996-2013 Free Software Foundation, Inc. | ||||||
|  | # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. | ||||||
|  |  | ||||||
|  | # This program is free software; you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation; either version 2, or (at your option) | ||||||
|  | # any later version. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  |  | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
|  | # As a special exception to the GNU General Public License, if you | ||||||
|  | # distribute this file as part of a program that contains a | ||||||
|  | # configuration script generated by Autoconf, you may include it under | ||||||
|  | # the same distribution terms that you use for the rest of that program. | ||||||
|  |  | ||||||
|  | if test $# -eq 0; then | ||||||
|  |   echo 1>&2 "Try '$0 --help' for more information" | ||||||
|  |   exit 1 | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | case $1 in | ||||||
|  |  | ||||||
|  |   --is-lightweight) | ||||||
|  |     # Used by our autoconf macros to check whether the available missing | ||||||
|  |     # script is modern enough. | ||||||
|  |     exit 0 | ||||||
|  |     ;; | ||||||
|  |  | ||||||
|  |   --run) | ||||||
|  |     # Back-compat with the calling convention used by older automake. | ||||||
|  |     shift | ||||||
|  |     ;; | ||||||
|  |  | ||||||
|  |   -h|--h|--he|--hel|--help) | ||||||
|  |     echo "\ | ||||||
|  | $0 [OPTION]... PROGRAM [ARGUMENT]... | ||||||
|  |  | ||||||
|  | Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due | ||||||
|  | to PROGRAM being missing or too old. | ||||||
|  |  | ||||||
|  | Options: | ||||||
|  |   -h, --help      display this help and exit | ||||||
|  |   -v, --version   output version information and exit | ||||||
|  |  | ||||||
|  | Supported PROGRAM values: | ||||||
|  |   aclocal   autoconf  autoheader   autom4te  automake  makeinfo | ||||||
|  |   bison     yacc      flex         lex       help2man | ||||||
|  |  | ||||||
|  | Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and | ||||||
|  | 'g' are ignored when checking the name. | ||||||
|  |  | ||||||
|  | Send bug reports to <bug-automake@gnu.org>." | ||||||
|  |     exit $? | ||||||
|  |     ;; | ||||||
|  |  | ||||||
|  |   -v|--v|--ve|--ver|--vers|--versi|--versio|--version) | ||||||
|  |     echo "missing $scriptversion (GNU Automake)" | ||||||
|  |     exit $? | ||||||
|  |     ;; | ||||||
|  |  | ||||||
|  |   -*) | ||||||
|  |     echo 1>&2 "$0: unknown '$1' option" | ||||||
|  |     echo 1>&2 "Try '$0 --help' for more information" | ||||||
|  |     exit 1 | ||||||
|  |     ;; | ||||||
|  |  | ||||||
|  | esac | ||||||
|  |  | ||||||
|  | # Run the given program, remember its exit status. | ||||||
|  | "$@"; st=$? | ||||||
|  |  | ||||||
|  | # If it succeeded, we are done. | ||||||
|  | test $st -eq 0 && exit 0 | ||||||
|  |  | ||||||
|  | # Also exit now if we it failed (or wasn't found), and '--version' was | ||||||
|  | # passed; such an option is passed most likely to detect whether the | ||||||
|  | # program is present and works. | ||||||
|  | case $2 in --version|--help) exit $st;; esac | ||||||
|  |  | ||||||
|  | # Exit code 63 means version mismatch.  This often happens when the user | ||||||
|  | # tries to use an ancient version of a tool on a file that requires a | ||||||
|  | # minimum version. | ||||||
|  | if test $st -eq 63; then | ||||||
|  |   msg="probably too old" | ||||||
|  | elif test $st -eq 127; then | ||||||
|  |   # Program was missing. | ||||||
|  |   msg="missing on your system" | ||||||
|  | else | ||||||
|  |   # Program was found and executed, but failed.  Give up. | ||||||
|  |   exit $st | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | perl_URL=http://www.perl.org/ | ||||||
|  | flex_URL=http://flex.sourceforge.net/ | ||||||
|  | gnu_software_URL=http://www.gnu.org/software | ||||||
|  |  | ||||||
|  | program_details () | ||||||
|  | { | ||||||
|  |   case $1 in | ||||||
|  |     aclocal|automake) | ||||||
|  |       echo "The '$1' program is part of the GNU Automake package:" | ||||||
|  |       echo "<$gnu_software_URL/automake>" | ||||||
|  |       echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" | ||||||
|  |       echo "<$gnu_software_URL/autoconf>" | ||||||
|  |       echo "<$gnu_software_URL/m4/>" | ||||||
|  |       echo "<$perl_URL>" | ||||||
|  |       ;; | ||||||
|  |     autoconf|autom4te|autoheader) | ||||||
|  |       echo "The '$1' program is part of the GNU Autoconf package:" | ||||||
|  |       echo "<$gnu_software_URL/autoconf/>" | ||||||
|  |       echo "It also requires GNU m4 and Perl in order to run:" | ||||||
|  |       echo "<$gnu_software_URL/m4/>" | ||||||
|  |       echo "<$perl_URL>" | ||||||
|  |       ;; | ||||||
|  |   esac | ||||||
|  | } | ||||||
|  |  | ||||||
|  | give_advice () | ||||||
|  | { | ||||||
|  |   # Normalize program name to check for. | ||||||
|  |   normalized_program=`echo "$1" | sed ' | ||||||
|  |     s/^gnu-//; t | ||||||
|  |     s/^gnu//; t | ||||||
|  |     s/^g//; t'` | ||||||
|  |  | ||||||
|  |   printf '%s\n' "'$1' is $msg." | ||||||
|  |  | ||||||
|  |   configure_deps="'configure.ac' or m4 files included by 'configure.ac'" | ||||||
|  |   case $normalized_program in | ||||||
|  |     autoconf*) | ||||||
|  |       echo "You should only need it if you modified 'configure.ac'," | ||||||
|  |       echo "or m4 files included by it." | ||||||
|  |       program_details 'autoconf' | ||||||
|  |       ;; | ||||||
|  |     autoheader*) | ||||||
|  |       echo "You should only need it if you modified 'acconfig.h' or" | ||||||
|  |       echo "$configure_deps." | ||||||
|  |       program_details 'autoheader' | ||||||
|  |       ;; | ||||||
|  |     automake*) | ||||||
|  |       echo "You should only need it if you modified 'Makefile.am' or" | ||||||
|  |       echo "$configure_deps." | ||||||
|  |       program_details 'automake' | ||||||
|  |       ;; | ||||||
|  |     aclocal*) | ||||||
|  |       echo "You should only need it if you modified 'acinclude.m4' or" | ||||||
|  |       echo "$configure_deps." | ||||||
|  |       program_details 'aclocal' | ||||||
|  |       ;; | ||||||
|  |    autom4te*) | ||||||
|  |       echo "You might have modified some maintainer files that require" | ||||||
|  |       echo "the 'automa4te' program to be rebuilt." | ||||||
|  |       program_details 'autom4te' | ||||||
|  |       ;; | ||||||
|  |     bison*|yacc*) | ||||||
|  |       echo "You should only need it if you modified a '.y' file." | ||||||
|  |       echo "You may want to install the GNU Bison package:" | ||||||
|  |       echo "<$gnu_software_URL/bison/>" | ||||||
|  |       ;; | ||||||
|  |     lex*|flex*) | ||||||
|  |       echo "You should only need it if you modified a '.l' file." | ||||||
|  |       echo "You may want to install the Fast Lexical Analyzer package:" | ||||||
|  |       echo "<$flex_URL>" | ||||||
|  |       ;; | ||||||
|  |     help2man*) | ||||||
|  |       echo "You should only need it if you modified a dependency" \ | ||||||
|  |            "of a man page." | ||||||
|  |       echo "You may want to install the GNU Help2man package:" | ||||||
|  |       echo "<$gnu_software_URL/help2man/>" | ||||||
|  |     ;; | ||||||
|  |     makeinfo*) | ||||||
|  |       echo "You should only need it if you modified a '.texi' file, or" | ||||||
|  |       echo "any other file indirectly affecting the aspect of the manual." | ||||||
|  |       echo "You might want to install the Texinfo package:" | ||||||
|  |       echo "<$gnu_software_URL/texinfo/>" | ||||||
|  |       echo "The spurious makeinfo call might also be the consequence of" | ||||||
|  |       echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" | ||||||
|  |       echo "want to install GNU make:" | ||||||
|  |       echo "<$gnu_software_URL/make/>" | ||||||
|  |       ;; | ||||||
|  |     *) | ||||||
|  |       echo "You might have modified some files without having the proper" | ||||||
|  |       echo "tools for further handling them.  Check the 'README' file, it" | ||||||
|  |       echo "often tells you about the needed prerequisites for installing" | ||||||
|  |       echo "this package.  You may also peek at any GNU archive site, in" | ||||||
|  |       echo "case some other package contains this missing '$1' program." | ||||||
|  |       ;; | ||||||
|  |   esac | ||||||
|  | } | ||||||
|  |  | ||||||
|  | give_advice "$1" | sed -e '1s/^/WARNING: /' \ | ||||||
|  |                        -e '2,$s/^/         /' >&2 | ||||||
|  |  | ||||||
|  | # Propagate the correct exit status (expected to be 127 for a program | ||||||
|  | # not found, 63 for a program that failed due to version mismatch). | ||||||
|  | exit $st | ||||||
|  |  | ||||||
|  | # Local variables: | ||||||
|  | # eval: (add-hook 'write-file-hooks 'time-stamp) | ||||||
|  | # time-stamp-start: "scriptversion=" | ||||||
|  | # time-stamp-format: "%:y-%02m-%02d.%02H" | ||||||
|  | # time-stamp-time-zone: "UTC" | ||||||
|  | # time-stamp-end: "; # UTC" | ||||||
|  | # End: | ||||||
| @@ -0,0 +1,234 @@ | |||||||
|  | bcm2835.o: bcm2835.c /usr/include/stdc-predef.h /usr/include/stdlib.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/libc-header-start.h \ | ||||||
|  |  /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/long-double.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ | ||||||
|  |  /usr/lib/gcc/arm-linux-gnueabihf/8/include/stddef.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/floatn.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/floatn-common.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/sys/types.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/clock_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/clockid_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/time_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/timer_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdint-intn.h \ | ||||||
|  |  /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/uintn-identity.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/sys/select.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/select.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h \ | ||||||
|  |  /usr/include/alloca.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ | ||||||
|  |  /usr/include/stdio.h /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdarg.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__FILE.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/FILE.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/errno.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/errno.h /usr/include/linux/errno.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/asm/errno.h \ | ||||||
|  |  /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ | ||||||
|  |  /usr/include/fcntl.h /usr/include/arm-linux-gnueabihf/bits/fcntl.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stat.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/sys/mman.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/mman.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/mman-linux.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/mman-shared.h \ | ||||||
|  |  /usr/include/string.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/locale_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h \ | ||||||
|  |  /usr/include/strings.h /usr/include/time.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/time.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/struct_tm.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/struct_itimerspec.h \ | ||||||
|  |  /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/environments.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/confname.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/getopt_posix.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/getopt_core.h bcm2835.h \ | ||||||
|  |  /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdint.h \ | ||||||
|  |  /usr/include/stdint.h /usr/include/arm-linux-gnueabihf/bits/wchar.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h | ||||||
|  |  | ||||||
|  | /usr/include/stdc-predef.h: | ||||||
|  |  | ||||||
|  | /usr/include/stdlib.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/libc-header-start.h: | ||||||
|  |  | ||||||
|  | /usr/include/features.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/sys/cdefs.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/wordsize.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/long-double.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/gnu/stubs.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: | ||||||
|  |  | ||||||
|  | /usr/lib/gcc/arm-linux-gnueabihf/8/include/stddef.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/waitflags.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/waitstatus.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/floatn.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/floatn-common.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/sys/types.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/typesizes.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/clock_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/clockid_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/time_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/timer_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdint-intn.h: | ||||||
|  |  | ||||||
|  | /usr/include/endian.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/endian.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/byteswap.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/uintn-identity.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/sys/select.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/select.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h: | ||||||
|  |  | ||||||
|  | /usr/include/alloca.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: | ||||||
|  |  | ||||||
|  | /usr/include/stdio.h: | ||||||
|  |  | ||||||
|  | /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdarg.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__FILE.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/FILE.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdio.h: | ||||||
|  |  | ||||||
|  | /usr/include/errno.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/errno.h: | ||||||
|  |  | ||||||
|  | /usr/include/linux/errno.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/asm/errno.h: | ||||||
|  |  | ||||||
|  | /usr/include/asm-generic/errno.h: | ||||||
|  |  | ||||||
|  | /usr/include/asm-generic/errno-base.h: | ||||||
|  |  | ||||||
|  | /usr/include/fcntl.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/fcntl.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/fcntl-linux.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stat.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/sys/mman.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/mman.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/mman-linux.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/mman-shared.h: | ||||||
|  |  | ||||||
|  | /usr/include/string.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/locale_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__locale_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/strings.h: | ||||||
|  |  | ||||||
|  | /usr/include/time.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/time.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/struct_tm.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/struct_itimerspec.h: | ||||||
|  |  | ||||||
|  | /usr/include/unistd.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/posix_opt.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/environments.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/confname.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/getopt_posix.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/getopt_core.h: | ||||||
|  |  | ||||||
|  | bcm2835.h: | ||||||
|  |  | ||||||
|  | /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdint.h: | ||||||
|  |  | ||||||
|  | /usr/include/stdint.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/wchar.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h: | ||||||
| @@ -0,0 +1,174 @@ | |||||||
|  | test.o: test.c /usr/include/stdc-predef.h bcm2835.h \ | ||||||
|  |  /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdint.h \ | ||||||
|  |  /usr/include/stdint.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/libc-header-start.h \ | ||||||
|  |  /usr/include/features.h /usr/include/arm-linux-gnueabihf/sys/cdefs.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/wordsize.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/long-double.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/gnu/stubs.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/typesizes.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/wchar.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdint-intn.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h \ | ||||||
|  |  /usr/include/stdio.h /usr/lib/gcc/arm-linux-gnueabihf/8/include/stddef.h \ | ||||||
|  |  /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdarg.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__FILE.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/FILE.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdio.h /usr/include/stdlib.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/waitflags.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/waitstatus.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/floatn.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/floatn-common.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/sys/types.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/clock_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/clockid_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/time_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/timer_t.h \ | ||||||
|  |  /usr/include/endian.h /usr/include/arm-linux-gnueabihf/bits/endian.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/byteswap.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/uintn-identity.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/sys/select.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/select.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h \ | ||||||
|  |  /usr/include/alloca.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h \ | ||||||
|  |  /usr/include/unistd.h /usr/include/arm-linux-gnueabihf/bits/posix_opt.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/environments.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/confname.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/getopt_posix.h \ | ||||||
|  |  /usr/include/arm-linux-gnueabihf/bits/getopt_core.h | ||||||
|  |  | ||||||
|  | /usr/include/stdc-predef.h: | ||||||
|  |  | ||||||
|  | bcm2835.h: | ||||||
|  |  | ||||||
|  | /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdint.h: | ||||||
|  |  | ||||||
|  | /usr/include/stdint.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/libc-header-start.h: | ||||||
|  |  | ||||||
|  | /usr/include/features.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/sys/cdefs.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/wordsize.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/long-double.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/gnu/stubs.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/typesizes.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/wchar.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdint-intn.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdint-uintn.h: | ||||||
|  |  | ||||||
|  | /usr/include/stdio.h: | ||||||
|  |  | ||||||
|  | /usr/lib/gcc/arm-linux-gnueabihf/8/include/stddef.h: | ||||||
|  |  | ||||||
|  | /usr/lib/gcc/arm-linux-gnueabihf/8/include/stdarg.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__fpos_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__mbstate_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__fpos64_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__FILE.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/FILE.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/struct_FILE.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdio_lim.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/sys_errlist.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdio.h: | ||||||
|  |  | ||||||
|  | /usr/include/stdlib.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/waitflags.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/waitstatus.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/floatn.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/floatn-common.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/sys/types.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/clock_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/clockid_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/time_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/timer_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/endian.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/endian.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/byteswap.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/uintn-identity.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/sys/select.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/select.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/sigset_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/__sigset_t.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/struct_timeval.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/types/struct_timespec.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/thread-shared-types.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/pthreadtypes-arch.h: | ||||||
|  |  | ||||||
|  | /usr/include/alloca.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/stdlib-float.h: | ||||||
|  |  | ||||||
|  | /usr/include/unistd.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/posix_opt.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/environments.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/confname.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/getopt_posix.h: | ||||||
|  |  | ||||||
|  | /usr/include/arm-linux-gnueabihf/bits/getopt_core.h: | ||||||
							
								
								
									
										987
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										987
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,987 @@ | |||||||
|  | # Makefile.in generated by automake 1.16.1 from Makefile.am. | ||||||
|  | # src/Makefile.  Generated from Makefile.in by configure. | ||||||
|  |  | ||||||
|  | # Copyright (C) 1994-2018 Free Software Foundation, Inc. | ||||||
|  |  | ||||||
|  | # This Makefile.in is free software; the Free Software Foundation | ||||||
|  | # gives unlimited permission to copy and/or distribute it, | ||||||
|  | # with or without modifications, as long as this notice is preserved. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||||||
|  | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||||||
|  | # PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | am__is_gnu_make = { \ | ||||||
|  |   if test -z '$(MAKELEVEL)'; then \ | ||||||
|  |     false; \ | ||||||
|  |   elif test -n '$(MAKE_HOST)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   else \ | ||||||
|  |     false; \ | ||||||
|  |   fi; \ | ||||||
|  | } | ||||||
|  | am__make_running_with_option = \ | ||||||
|  |   case $${target_option-} in \ | ||||||
|  |       ?) ;; \ | ||||||
|  |       *) echo "am__make_running_with_option: internal error: invalid" \ | ||||||
|  |               "target option '$${target_option-}' specified" >&2; \ | ||||||
|  |          exit 1;; \ | ||||||
|  |   esac; \ | ||||||
|  |   has_opt=no; \ | ||||||
|  |   sane_makeflags=$$MAKEFLAGS; \ | ||||||
|  |   if $(am__is_gnu_make); then \ | ||||||
|  |     sane_makeflags=$$MFLAGS; \ | ||||||
|  |   else \ | ||||||
|  |     case $$MAKEFLAGS in \ | ||||||
|  |       *\\[\ \	]*) \ | ||||||
|  |         bs=\\; \ | ||||||
|  |         sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | ||||||
|  |           | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ | ||||||
|  |     esac; \ | ||||||
|  |   fi; \ | ||||||
|  |   skip_next=no; \ | ||||||
|  |   strip_trailopt () \ | ||||||
|  |   { \ | ||||||
|  |     flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ | ||||||
|  |   }; \ | ||||||
|  |   for flg in $$sane_makeflags; do \ | ||||||
|  |     test $$skip_next = yes && { skip_next=no; continue; }; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *=*|--*) continue;; \ | ||||||
|  |         -*I) strip_trailopt 'I'; skip_next=yes;; \ | ||||||
|  |       -*I?*) strip_trailopt 'I';; \ | ||||||
|  |         -*O) strip_trailopt 'O'; skip_next=yes;; \ | ||||||
|  |       -*O?*) strip_trailopt 'O';; \ | ||||||
|  |         -*l) strip_trailopt 'l'; skip_next=yes;; \ | ||||||
|  |       -*l?*) strip_trailopt 'l';; \ | ||||||
|  |       -[dEDm]) skip_next=yes;; \ | ||||||
|  |       -[JT]) skip_next=yes;; \ | ||||||
|  |     esac; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *$$target_option*) has_opt=yes; break;; \ | ||||||
|  |     esac; \ | ||||||
|  |   done; \ | ||||||
|  |   test $$has_opt = yes | ||||||
|  | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | ||||||
|  | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | ||||||
|  | pkgdatadir = $(datadir)/bcm2835 | ||||||
|  | pkgincludedir = $(includedir)/bcm2835 | ||||||
|  | pkglibdir = $(libdir)/bcm2835 | ||||||
|  | pkglibexecdir = $(libexecdir)/bcm2835 | ||||||
|  | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | ||||||
|  | install_sh_DATA = $(install_sh) -c -m 644 | ||||||
|  | install_sh_PROGRAM = $(install_sh) -c | ||||||
|  | install_sh_SCRIPT = $(install_sh) -c | ||||||
|  | INSTALL_HEADER = $(INSTALL_DATA) | ||||||
|  | transform = $(program_transform_name) | ||||||
|  | NORMAL_INSTALL = : | ||||||
|  | PRE_INSTALL = : | ||||||
|  | POST_INSTALL = : | ||||||
|  | NORMAL_UNINSTALL = : | ||||||
|  | PRE_UNINSTALL = : | ||||||
|  | POST_UNINSTALL = : | ||||||
|  | check_PROGRAMS = test$(EXEEXT) | ||||||
|  | subdir = src | ||||||
|  | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||||||
|  | am__aclocal_m4_deps = $(top_srcdir)/configure.ac | ||||||
|  | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | ||||||
|  | 	$(ACLOCAL_M4) | ||||||
|  | DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \ | ||||||
|  | 	$(am__DIST_COMMON) | ||||||
|  | mkinstalldirs = $(install_sh) -d | ||||||
|  | CONFIG_HEADER = $(top_builddir)/config.h | ||||||
|  | CONFIG_CLEAN_FILES = | ||||||
|  | CONFIG_CLEAN_VPATH_FILES = | ||||||
|  | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; | ||||||
|  | am__vpath_adj = case $$p in \ | ||||||
|  |     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ | ||||||
|  |     *) f=$$p;; \ | ||||||
|  |   esac; | ||||||
|  | am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; | ||||||
|  | am__install_max = 40 | ||||||
|  | am__nobase_strip_setup = \ | ||||||
|  |   srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` | ||||||
|  | am__nobase_strip = \ | ||||||
|  |   for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" | ||||||
|  | am__nobase_list = $(am__nobase_strip_setup); \ | ||||||
|  |   for p in $$list; do echo "$$p $$p"; done | \ | ||||||
|  |   sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ | ||||||
|  |   $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ | ||||||
|  |     if (++n[$$2] == $(am__install_max)) \ | ||||||
|  |       { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ | ||||||
|  |     END { for (dir in files) print dir, files[dir] }' | ||||||
|  | am__base_list = \ | ||||||
|  |   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ | ||||||
|  |   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | ||||||
|  | am__uninstall_files_from_dir = { \ | ||||||
|  |   test -z "$$files" \ | ||||||
|  |     || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ | ||||||
|  |     || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ | ||||||
|  |          $(am__cd) "$$dir" && rm -f $$files; }; \ | ||||||
|  |   } | ||||||
|  | am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" | ||||||
|  | LIBRARIES = $(lib_LIBRARIES) | ||||||
|  | AR = ar | ||||||
|  | ARFLAGS = cru | ||||||
|  | AM_V_AR = $(am__v_AR_$(V)) | ||||||
|  | am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_AR_0 = @echo "  AR      " $@; | ||||||
|  | am__v_AR_1 =  | ||||||
|  | libbcm2835_a_AR = $(AR) $(ARFLAGS) | ||||||
|  | libbcm2835_a_LIBADD = | ||||||
|  | am_libbcm2835_a_OBJECTS = bcm2835.$(OBJEXT) | ||||||
|  | libbcm2835_a_OBJECTS = $(am_libbcm2835_a_OBJECTS) | ||||||
|  | am_test_OBJECTS = test.$(OBJEXT) | ||||||
|  | test_OBJECTS = $(am_test_OBJECTS) | ||||||
|  | test_DEPENDENCIES = ./libbcm2835.a | ||||||
|  | AM_V_P = $(am__v_P_$(V)) | ||||||
|  | am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_P_0 = false | ||||||
|  | am__v_P_1 = : | ||||||
|  | AM_V_GEN = $(am__v_GEN_$(V)) | ||||||
|  | am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_GEN_0 = @echo "  GEN     " $@; | ||||||
|  | am__v_GEN_1 =  | ||||||
|  | AM_V_at = $(am__v_at_$(V)) | ||||||
|  | am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_at_0 = @ | ||||||
|  | am__v_at_1 =  | ||||||
|  | DEFAULT_INCLUDES = -I. -I$(top_builddir) | ||||||
|  | depcomp = $(SHELL) $(top_srcdir)/depcomp | ||||||
|  | am__maybe_remake_depfiles = depfiles | ||||||
|  | am__depfiles_remade = ./$(DEPDIR)/bcm2835.Po ./$(DEPDIR)/test.Po | ||||||
|  | am__mv = mv -f | ||||||
|  | COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ | ||||||
|  | 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) | ||||||
|  | AM_V_CC = $(am__v_CC_$(V)) | ||||||
|  | am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_CC_0 = @echo "  CC      " $@; | ||||||
|  | am__v_CC_1 =  | ||||||
|  | CCLD = $(CC) | ||||||
|  | LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ | ||||||
|  | AM_V_CCLD = $(am__v_CCLD_$(V)) | ||||||
|  | am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) | ||||||
|  | am__v_CCLD_0 = @echo "  CCLD    " $@; | ||||||
|  | am__v_CCLD_1 =  | ||||||
|  | SOURCES = $(libbcm2835_a_SOURCES) $(test_SOURCES) | ||||||
|  | DIST_SOURCES = $(libbcm2835_a_SOURCES) $(test_SOURCES) | ||||||
|  | am__can_run_installinfo = \ | ||||||
|  |   case $$AM_UPDATE_INFO_DIR in \ | ||||||
|  |     n|no|NO) false;; \ | ||||||
|  |     *) (install-info --version) >/dev/null 2>&1;; \ | ||||||
|  |   esac | ||||||
|  | HEADERS = $(include_HEADERS) | ||||||
|  | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) | ||||||
|  | # Read a list of newline-separated strings from the standard input, | ||||||
|  | # and print each of them once, without duplicates.  Input order is | ||||||
|  | # *not* preserved. | ||||||
|  | am__uniquify_input = $(AWK) '\ | ||||||
|  |   BEGIN { nonempty = 0; } \ | ||||||
|  |   { items[$$0] = 1; nonempty = 1; } \ | ||||||
|  |   END { if (nonempty) { for (i in items) print i; }; } \ | ||||||
|  | ' | ||||||
|  | # Make sure the list of sources is unique.  This is necessary because, | ||||||
|  | # e.g., the same source file might be shared among _SOURCES variables | ||||||
|  | # for different programs/libraries. | ||||||
|  | am__define_uniq_tagged_files = \ | ||||||
|  |   list='$(am__tagged_files)'; \ | ||||||
|  |   unique=`for i in $$list; do \ | ||||||
|  |     if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||||||
|  |   done | $(am__uniquify_input)` | ||||||
|  | ETAGS = etags | ||||||
|  | CTAGS = ctags | ||||||
|  | am__tty_colors_dummy = \ | ||||||
|  |   mgn= red= grn= lgn= blu= brg= std=; \ | ||||||
|  |   am__color_tests=no | ||||||
|  | am__tty_colors = { \ | ||||||
|  |   $(am__tty_colors_dummy); \ | ||||||
|  |   if test "X$(AM_COLOR_TESTS)" = Xno; then \ | ||||||
|  |     am__color_tests=no; \ | ||||||
|  |   elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ | ||||||
|  |     am__color_tests=yes; \ | ||||||
|  |   elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ | ||||||
|  |     am__color_tests=yes; \ | ||||||
|  |   fi; \ | ||||||
|  |   if test $$am__color_tests = yes; then \ | ||||||
|  |     red='[0;31m'; \ | ||||||
|  |     grn='[0;32m'; \ | ||||||
|  |     lgn='[1;32m'; \ | ||||||
|  |     blu='[1;34m'; \ | ||||||
|  |     mgn='[0;35m'; \ | ||||||
|  |     brg='[1m'; \ | ||||||
|  |     std='[m'; \ | ||||||
|  |   fi; \ | ||||||
|  | } | ||||||
|  | am__recheck_rx = ^[ 	]*:recheck:[ 	]* | ||||||
|  | am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]* | ||||||
|  | am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]* | ||||||
|  | # A command that, given a newline-separated list of test names on the | ||||||
|  | # standard input, print the name of the tests that are to be re-run | ||||||
|  | # upon "make recheck". | ||||||
|  | am__list_recheck_tests = $(AWK) '{ \ | ||||||
|  |   recheck = 1; \ | ||||||
|  |   while ((rc = (getline line < ($$0 ".trs"))) != 0) \ | ||||||
|  |     { \ | ||||||
|  |       if (rc < 0) \ | ||||||
|  |         { \ | ||||||
|  |           if ((getline line2 < ($$0 ".log")) < 0) \ | ||||||
|  | 	    recheck = 0; \ | ||||||
|  |           break; \ | ||||||
|  |         } \ | ||||||
|  |       else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ | ||||||
|  |         { \ | ||||||
|  |           recheck = 0; \ | ||||||
|  |           break; \ | ||||||
|  |         } \ | ||||||
|  |       else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ | ||||||
|  |         { \ | ||||||
|  |           break; \ | ||||||
|  |         } \ | ||||||
|  |     }; \ | ||||||
|  |   if (recheck) \ | ||||||
|  |     print $$0; \ | ||||||
|  |   close ($$0 ".trs"); \ | ||||||
|  |   close ($$0 ".log"); \ | ||||||
|  | }' | ||||||
|  | # A command that, given a newline-separated list of test names on the | ||||||
|  | # standard input, create the global log from their .trs and .log files. | ||||||
|  | am__create_global_log = $(AWK) ' \ | ||||||
|  | function fatal(msg) \ | ||||||
|  | { \ | ||||||
|  |   print "fatal: making $@: " msg | "cat >&2"; \ | ||||||
|  |   exit 1; \ | ||||||
|  | } \ | ||||||
|  | function rst_section(header) \ | ||||||
|  | { \ | ||||||
|  |   print header; \ | ||||||
|  |   len = length(header); \ | ||||||
|  |   for (i = 1; i <= len; i = i + 1) \ | ||||||
|  |     printf "="; \ | ||||||
|  |   printf "\n\n"; \ | ||||||
|  | } \ | ||||||
|  | { \ | ||||||
|  |   copy_in_global_log = 1; \ | ||||||
|  |   global_test_result = "RUN"; \ | ||||||
|  |   while ((rc = (getline line < ($$0 ".trs"))) != 0) \ | ||||||
|  |     { \ | ||||||
|  |       if (rc < 0) \ | ||||||
|  |          fatal("failed to read from " $$0 ".trs"); \ | ||||||
|  |       if (line ~ /$(am__global_test_result_rx)/) \ | ||||||
|  |         { \ | ||||||
|  |           sub("$(am__global_test_result_rx)", "", line); \ | ||||||
|  |           sub("[ 	]*$$", "", line); \ | ||||||
|  |           global_test_result = line; \ | ||||||
|  |         } \ | ||||||
|  |       else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ | ||||||
|  |         copy_in_global_log = 0; \ | ||||||
|  |     }; \ | ||||||
|  |   if (copy_in_global_log) \ | ||||||
|  |     { \ | ||||||
|  |       rst_section(global_test_result ": " $$0); \ | ||||||
|  |       while ((rc = (getline line < ($$0 ".log"))) != 0) \ | ||||||
|  |       { \ | ||||||
|  |         if (rc < 0) \ | ||||||
|  |           fatal("failed to read from " $$0 ".log"); \ | ||||||
|  |         print line; \ | ||||||
|  |       }; \ | ||||||
|  |       printf "\n"; \ | ||||||
|  |     }; \ | ||||||
|  |   close ($$0 ".trs"); \ | ||||||
|  |   close ($$0 ".log"); \ | ||||||
|  | }' | ||||||
|  | # Restructured Text title. | ||||||
|  | am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } | ||||||
|  | # Solaris 10 'make', and several other traditional 'make' implementations, | ||||||
|  | # pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it | ||||||
|  | # by disabling -e (using the XSI extension "set +e") if it's set. | ||||||
|  | am__sh_e_setup = case $$- in *e*) set +e;; esac | ||||||
|  | # Default flags passed to test drivers. | ||||||
|  | am__common_driver_flags = \ | ||||||
|  |   --color-tests "$$am__color_tests" \ | ||||||
|  |   --enable-hard-errors "$$am__enable_hard_errors" \ | ||||||
|  |   --expect-failure "$$am__expect_failure" | ||||||
|  | # To be inserted before the command running the test.  Creates the | ||||||
|  | # directory for the log if needed.  Stores in $dir the directory | ||||||
|  | # containing $f, in $tst the test, in $log the log.  Executes the | ||||||
|  | # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and | ||||||
|  | # passes TESTS_ENVIRONMENT.  Set up options for the wrapper that | ||||||
|  | # will run the test scripts (or their associated LOG_COMPILER, if | ||||||
|  | # thy have one). | ||||||
|  | am__check_pre = \ | ||||||
|  | $(am__sh_e_setup);					\ | ||||||
|  | $(am__vpath_adj_setup) $(am__vpath_adj)			\ | ||||||
|  | $(am__tty_colors);					\ | ||||||
|  | srcdir=$(srcdir); export srcdir;			\ | ||||||
|  | case "$@" in						\ | ||||||
|  |   */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\ | ||||||
|  |     *) am__odir=.;; 					\ | ||||||
|  | esac;							\ | ||||||
|  | test "x$$am__odir" = x"." || test -d "$$am__odir" 	\ | ||||||
|  |   || $(MKDIR_P) "$$am__odir" || exit $$?;		\ | ||||||
|  | if test -f "./$$f"; then dir=./;			\ | ||||||
|  | elif test -f "$$f"; then dir=;				\ | ||||||
|  | else dir="$(srcdir)/"; fi;				\ | ||||||
|  | tst=$$dir$$f; log='$@'; 				\ | ||||||
|  | if test -n '$(DISABLE_HARD_ERRORS)'; then		\ | ||||||
|  |   am__enable_hard_errors=no; 				\ | ||||||
|  | else							\ | ||||||
|  |   am__enable_hard_errors=yes; 				\ | ||||||
|  | fi; 							\ | ||||||
|  | case " $(XFAIL_TESTS) " in				\ | ||||||
|  |   *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \ | ||||||
|  |     am__expect_failure=yes;;				\ | ||||||
|  |   *)							\ | ||||||
|  |     am__expect_failure=no;;				\ | ||||||
|  | esac; 							\ | ||||||
|  | $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) | ||||||
|  | # A shell command to get the names of the tests scripts with any registered | ||||||
|  | # extension removed (i.e., equivalently, the names of the test logs, with | ||||||
|  | # the '.log' extension removed).  The result is saved in the shell variable | ||||||
|  | # '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly, | ||||||
|  | # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", | ||||||
|  | # since that might cause problem with VPATH rewrites for suffix-less tests. | ||||||
|  | # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. | ||||||
|  | am__set_TESTS_bases = \ | ||||||
|  |   bases='$(TEST_LOGS)'; \ | ||||||
|  |   bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ | ||||||
|  |   bases=`echo $$bases` | ||||||
|  | RECHECK_LOGS = $(TEST_LOGS) | ||||||
|  | AM_RECURSIVE_TARGETS = check recheck | ||||||
|  | TEST_SUITE_LOG = test-suite.log | ||||||
|  | TEST_EXTENSIONS =  .test | ||||||
|  | LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver | ||||||
|  | LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) | ||||||
|  | am__set_b = \ | ||||||
|  |   case '$@' in \ | ||||||
|  |     */*) \ | ||||||
|  |       case '$*' in \ | ||||||
|  |         */*) b='$*';; \ | ||||||
|  |           *) b=`echo '$@' | sed 's/\.log$$//'`; \ | ||||||
|  |        esac;; \ | ||||||
|  |     *) \ | ||||||
|  |       b='$*';; \ | ||||||
|  |   esac | ||||||
|  | am__test_logs1 = $(TESTS:=.log) | ||||||
|  | am__test_logs2 = $(am__test_logs1:.log=.log) | ||||||
|  | TEST_LOGS = $(am__test_logs2:.test.log=.log) | ||||||
|  | TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver | ||||||
|  | TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ | ||||||
|  | 	$(TEST_LOG_FLAGS) | ||||||
|  | am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ | ||||||
|  | 	$(top_srcdir)/test-driver | ||||||
|  | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | ||||||
|  | ACLOCAL = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing aclocal-1.16 | ||||||
|  | AMTAR = $${TAR-tar} | ||||||
|  | AM_DEFAULT_VERBOSITY = 1 | ||||||
|  | AUTOCONF = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing autoconf | ||||||
|  | AUTOHEADER = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing autoheader | ||||||
|  | AUTOMAKE = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing automake-1.16 | ||||||
|  | AWK = mawk | ||||||
|  | CC = gcc | ||||||
|  | CCDEPMODE = depmode=gcc3 | ||||||
|  | CFLAGS = -g -O2 | ||||||
|  | CPPFLAGS =  | ||||||
|  | CYGPATH_W = echo | ||||||
|  | DEFS = -DHAVE_CONFIG_H | ||||||
|  | DEPDIR = .deps | ||||||
|  | DOXYGEN =  | ||||||
|  | ECHO_C =  | ||||||
|  | ECHO_N = -n | ||||||
|  | ECHO_T =  | ||||||
|  | EXEEXT =  | ||||||
|  | INSTALL = /usr/bin/install -c | ||||||
|  | INSTALL_DATA = ${INSTALL} -m 644 | ||||||
|  | INSTALL_PROGRAM = ${INSTALL} | ||||||
|  | INSTALL_SCRIPT = ${INSTALL} | ||||||
|  | INSTALL_STRIP_PROGRAM = $(install_sh) -c -s | ||||||
|  | LDFLAGS =  | ||||||
|  | LIBOBJS =  | ||||||
|  | LIBS = -lrt  | ||||||
|  | LTLIBOBJS =  | ||||||
|  | MAKEINFO = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/missing makeinfo | ||||||
|  | MKDIR_P = /bin/mkdir -p | ||||||
|  | OBJEXT = o | ||||||
|  | PACKAGE = bcm2835 | ||||||
|  | PACKAGE_BUGREPORT = mikem@airspayce.com | ||||||
|  | PACKAGE_NAME = bcm2835 | ||||||
|  | PACKAGE_STRING = bcm2835 1.58 | ||||||
|  | PACKAGE_TARNAME = bcm2835 | ||||||
|  | PACKAGE_URL =  | ||||||
|  | PACKAGE_VERSION = 1.58 | ||||||
|  | PATH_SEPARATOR = : | ||||||
|  | RANLIB = ranlib | ||||||
|  | SET_MAKE =  | ||||||
|  | SHELL = /bin/bash | ||||||
|  | STRIP =  | ||||||
|  | VERSION = 1.58 | ||||||
|  | abs_builddir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src | ||||||
|  | abs_srcdir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src | ||||||
|  | abs_top_builddir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58 | ||||||
|  | abs_top_srcdir = /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58 | ||||||
|  | ac_ct_CC = gcc | ||||||
|  | am__include = include | ||||||
|  | am__leading_dot = . | ||||||
|  | am__quote =  | ||||||
|  | am__tar = $${TAR-tar} chof - "$$tardir" | ||||||
|  | am__untar = $${TAR-tar} xf - | ||||||
|  | bindir = ${exec_prefix}/bin | ||||||
|  | build_alias =  | ||||||
|  | builddir = . | ||||||
|  | datadir = ${datarootdir} | ||||||
|  | datarootdir = ${prefix}/share | ||||||
|  | docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} | ||||||
|  | dvidir = ${docdir} | ||||||
|  | exec_prefix = ${prefix} | ||||||
|  | host_alias =  | ||||||
|  | htmldir = ${docdir} | ||||||
|  | includedir = ${prefix}/include | ||||||
|  | infodir = ${datarootdir}/info | ||||||
|  | install_sh = ${SHELL} /home/pi/Desktop/Inkycal/inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/install-sh | ||||||
|  | libdir = ${exec_prefix}/lib | ||||||
|  | libexecdir = ${exec_prefix}/libexec | ||||||
|  | localedir = ${datarootdir}/locale | ||||||
|  | localstatedir = ${prefix}/var | ||||||
|  | mandir = ${datarootdir}/man | ||||||
|  | mkdir_p = $(MKDIR_P) | ||||||
|  | oldincludedir = /usr/include | ||||||
|  | pdfdir = ${docdir} | ||||||
|  | prefix = /usr/local | ||||||
|  | program_transform_name = s,x,x, | ||||||
|  | psdir = ${docdir} | ||||||
|  | runstatedir = ${localstatedir}/run | ||||||
|  | sbindir = ${exec_prefix}/sbin | ||||||
|  | sharedstatedir = ${prefix}/com | ||||||
|  | srcdir = . | ||||||
|  | sysconfdir = ${prefix}/etc | ||||||
|  | target_alias =  | ||||||
|  | top_build_prefix = ../ | ||||||
|  | top_builddir = .. | ||||||
|  | top_srcdir = .. | ||||||
|  | lib_LIBRARIES = libbcm2835.a | ||||||
|  | libbcm2835_a_SOURCES = bcm2835.c | ||||||
|  | include_HEADERS = bcm2835.h | ||||||
|  | test_SOURCES = test.c | ||||||
|  | test_LDADD = ./libbcm2835.a | ||||||
|  | TESTS = $(check_PROGRAMS) | ||||||
|  | CLEANFILES = *~ | ||||||
|  | all: all-am | ||||||
|  |  | ||||||
|  | .SUFFIXES: | ||||||
|  | .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs | ||||||
|  | $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) | ||||||
|  | 	@for dep in $?; do \ | ||||||
|  | 	  case '$(am__configure_deps)' in \ | ||||||
|  | 	    *$$dep*) \ | ||||||
|  | 	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ | ||||||
|  | 	        && { if test -f $@; then exit 0; else break; fi; }; \ | ||||||
|  | 	      exit 1;; \ | ||||||
|  | 	  esac; \ | ||||||
|  | 	done; \ | ||||||
|  | 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ | ||||||
|  | 	$(am__cd) $(top_srcdir) && \ | ||||||
|  | 	  $(AUTOMAKE) --gnu src/Makefile | ||||||
|  | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||||||
|  | 	@case '$?' in \ | ||||||
|  | 	  *config.status*) \ | ||||||
|  | 	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ | ||||||
|  | 	  *) \ | ||||||
|  | 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ | ||||||
|  | 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ | ||||||
|  | 	esac; | ||||||
|  |  | ||||||
|  | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  |  | ||||||
|  | $(top_srcdir)/configure:  $(am__configure_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(ACLOCAL_M4):  $(am__aclocal_m4_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(am__aclocal_m4_deps): | ||||||
|  |  | ||||||
|  | clean-checkPROGRAMS: | ||||||
|  | 	-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) | ||||||
|  | install-libLIBRARIES: $(lib_LIBRARIES) | ||||||
|  | 	@$(NORMAL_INSTALL) | ||||||
|  | 	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ | ||||||
|  | 	list2=; for p in $$list; do \ | ||||||
|  | 	  if test -f $$p; then \ | ||||||
|  | 	    list2="$$list2 $$p"; \ | ||||||
|  | 	  else :; fi; \ | ||||||
|  | 	done; \ | ||||||
|  | 	test -z "$$list2" || { \ | ||||||
|  | 	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ | ||||||
|  | 	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ | ||||||
|  | 	  echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ | ||||||
|  | 	  $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } | ||||||
|  | 	@$(POST_INSTALL) | ||||||
|  | 	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ | ||||||
|  | 	for p in $$list; do \ | ||||||
|  | 	  if test -f $$p; then \ | ||||||
|  | 	    $(am__strip_dir) \ | ||||||
|  | 	    echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ | ||||||
|  | 	    ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ | ||||||
|  | 	  else :; fi; \ | ||||||
|  | 	done | ||||||
|  |  | ||||||
|  | uninstall-libLIBRARIES: | ||||||
|  | 	@$(NORMAL_UNINSTALL) | ||||||
|  | 	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ | ||||||
|  | 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ | ||||||
|  | 	dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir) | ||||||
|  |  | ||||||
|  | clean-libLIBRARIES: | ||||||
|  | 	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) | ||||||
|  |  | ||||||
|  | libbcm2835.a: $(libbcm2835_a_OBJECTS) $(libbcm2835_a_DEPENDENCIES) $(EXTRA_libbcm2835_a_DEPENDENCIES)  | ||||||
|  | 	$(AM_V_at)-rm -f libbcm2835.a | ||||||
|  | 	$(AM_V_AR)$(libbcm2835_a_AR) libbcm2835.a $(libbcm2835_a_OBJECTS) $(libbcm2835_a_LIBADD) | ||||||
|  | 	$(AM_V_at)$(RANLIB) libbcm2835.a | ||||||
|  |  | ||||||
|  | test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES)  | ||||||
|  | 	@rm -f test$(EXEEXT) | ||||||
|  | 	$(AM_V_CCLD)$(LINK) $(test_OBJECTS) $(test_LDADD) $(LIBS) | ||||||
|  |  | ||||||
|  | mostlyclean-compile: | ||||||
|  | 	-rm -f *.$(OBJEXT) | ||||||
|  |  | ||||||
|  | distclean-compile: | ||||||
|  | 	-rm -f *.tab.c | ||||||
|  |  | ||||||
|  | include ./$(DEPDIR)/bcm2835.Po # am--include-marker | ||||||
|  | include ./$(DEPDIR)/test.Po # am--include-marker | ||||||
|  |  | ||||||
|  | $(am__depfiles_remade): | ||||||
|  | 	@$(MKDIR_P) $(@D) | ||||||
|  | 	@echo '# dummy' >$@-t && $(am__mv) $@-t $@ | ||||||
|  |  | ||||||
|  | am--depfiles: $(am__depfiles_remade) | ||||||
|  |  | ||||||
|  | .c.o: | ||||||
|  | 	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | ||||||
|  | 	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | ||||||
|  | #	$(AM_V_CC)source='$<' object='$@' libtool=no \ | ||||||
|  | #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ | ||||||
|  | #	$(AM_V_CC_no)$(COMPILE) -c -o $@ $< | ||||||
|  |  | ||||||
|  | .c.obj: | ||||||
|  | 	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` | ||||||
|  | 	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | ||||||
|  | #	$(AM_V_CC)source='$<' object='$@' libtool=no \ | ||||||
|  | #	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ | ||||||
|  | #	$(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` | ||||||
|  | install-includeHEADERS: $(include_HEADERS) | ||||||
|  | 	@$(NORMAL_INSTALL) | ||||||
|  | 	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ | ||||||
|  | 	if test -n "$$list"; then \ | ||||||
|  | 	  echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ | ||||||
|  | 	  $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	for p in $$list; do \ | ||||||
|  | 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ | ||||||
|  | 	  echo "$$d$$p"; \ | ||||||
|  | 	done | $(am__base_list) | \ | ||||||
|  | 	while read files; do \ | ||||||
|  | 	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ | ||||||
|  | 	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ | ||||||
|  | 	done | ||||||
|  |  | ||||||
|  | uninstall-includeHEADERS: | ||||||
|  | 	@$(NORMAL_UNINSTALL) | ||||||
|  | 	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ | ||||||
|  | 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ | ||||||
|  | 	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) | ||||||
|  |  | ||||||
|  | ID: $(am__tagged_files) | ||||||
|  | 	$(am__define_uniq_tagged_files); mkid -fID $$unique | ||||||
|  | tags: tags-am | ||||||
|  | TAGS: tags | ||||||
|  |  | ||||||
|  | tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | ||||||
|  | 	set x; \ | ||||||
|  | 	here=`pwd`; \ | ||||||
|  | 	$(am__define_uniq_tagged_files); \ | ||||||
|  | 	shift; \ | ||||||
|  | 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ | ||||||
|  | 	  test -n "$$unique" || unique=$$empty_fix; \ | ||||||
|  | 	  if test $$# -gt 0; then \ | ||||||
|  | 	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||||||
|  | 	      "$$@" $$unique; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||||||
|  | 	      $$unique; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	fi | ||||||
|  | ctags: ctags-am | ||||||
|  |  | ||||||
|  | CTAGS: ctags | ||||||
|  | ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | ||||||
|  | 	$(am__define_uniq_tagged_files); \ | ||||||
|  | 	test -z "$(CTAGS_ARGS)$$unique" \ | ||||||
|  | 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ | ||||||
|  | 	     $$unique | ||||||
|  |  | ||||||
|  | GTAGS: | ||||||
|  | 	here=`$(am__cd) $(top_builddir) && pwd` \ | ||||||
|  | 	  && $(am__cd) $(top_srcdir) \ | ||||||
|  | 	  && gtags -i $(GTAGS_ARGS) "$$here" | ||||||
|  | cscopelist: cscopelist-am | ||||||
|  |  | ||||||
|  | cscopelist-am: $(am__tagged_files) | ||||||
|  | 	list='$(am__tagged_files)'; \ | ||||||
|  | 	case "$(srcdir)" in \ | ||||||
|  | 	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ | ||||||
|  | 	  *) sdir=$(subdir)/$(srcdir) ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for i in $$list; do \ | ||||||
|  | 	  if test -f "$$i"; then \ | ||||||
|  | 	    echo "$(subdir)/$$i"; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    echo "$$sdir/$$i"; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done >> $(top_builddir)/cscope.files | ||||||
|  |  | ||||||
|  | distclean-tags: | ||||||
|  | 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags | ||||||
|  |  | ||||||
|  | # Recover from deleted '.trs' file; this should ensure that | ||||||
|  | # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create | ||||||
|  | # both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells | ||||||
|  | # to avoid problems with "make -n". | ||||||
|  | .log.trs: | ||||||
|  | 	rm -f $< $@ | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $< | ||||||
|  |  | ||||||
|  | # Leading 'am--fnord' is there to ensure the list of targets does not | ||||||
|  | # expand to empty, as could happen e.g. with make check TESTS=''. | ||||||
|  | am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) | ||||||
|  | am--force-recheck: | ||||||
|  | 	@: | ||||||
|  |  | ||||||
|  | $(TEST_SUITE_LOG): $(TEST_LOGS) | ||||||
|  | 	@$(am__set_TESTS_bases); \ | ||||||
|  | 	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ | ||||||
|  | 	redo_bases=`for i in $$bases; do \ | ||||||
|  | 	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ | ||||||
|  | 	            done`; \ | ||||||
|  | 	if test -n "$$redo_bases"; then \ | ||||||
|  | 	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ | ||||||
|  | 	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ | ||||||
|  | 	  if $(am__make_dryrun); then :; else \ | ||||||
|  | 	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	if test -n "$$am__remaking_logs"; then \ | ||||||
|  | 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ | ||||||
|  | 	       "recursion detected" >&2; \ | ||||||
|  | 	elif test -n "$$redo_logs"; then \ | ||||||
|  | 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	if $(am__make_dryrun); then :; else \ | ||||||
|  | 	  st=0;  \ | ||||||
|  | 	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ | ||||||
|  | 	  for i in $$redo_bases; do \ | ||||||
|  | 	    test -f $$i.trs && test -r $$i.trs \ | ||||||
|  | 	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ | ||||||
|  | 	    test -f $$i.log && test -r $$i.log \ | ||||||
|  | 	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \ | ||||||
|  | 	  done; \ | ||||||
|  | 	  test $$st -eq 0 || exit 1; \ | ||||||
|  | 	fi | ||||||
|  | 	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ | ||||||
|  | 	ws='[ 	]'; \ | ||||||
|  | 	results=`for b in $$bases; do echo $$b.trs; done`; \ | ||||||
|  | 	test -n "$$results" || results=/dev/null; \ | ||||||
|  | 	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \ | ||||||
|  | 	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \ | ||||||
|  | 	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \ | ||||||
|  | 	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \ | ||||||
|  | 	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ | ||||||
|  | 	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ | ||||||
|  | 	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ | ||||||
|  | 	if test `expr $$fail + $$xpass + $$error` -eq 0; then \ | ||||||
|  | 	  success=true; \ | ||||||
|  | 	else \ | ||||||
|  | 	  success=false; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	br='==================='; br=$$br$$br$$br$$br; \ | ||||||
|  | 	result_count () \ | ||||||
|  | 	{ \ | ||||||
|  | 	    if test x"$$1" = x"--maybe-color"; then \ | ||||||
|  | 	      maybe_colorize=yes; \ | ||||||
|  | 	    elif test x"$$1" = x"--no-color"; then \ | ||||||
|  | 	      maybe_colorize=no; \ | ||||||
|  | 	    else \ | ||||||
|  | 	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    shift; \ | ||||||
|  | 	    desc=$$1 count=$$2; \ | ||||||
|  | 	    if test $$maybe_colorize = yes && test $$count -gt 0; then \ | ||||||
|  | 	      color_start=$$3 color_end=$$std; \ | ||||||
|  | 	    else \ | ||||||
|  | 	      color_start= color_end=; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    echo "$${color_start}# $$desc $$count$${color_end}"; \ | ||||||
|  | 	}; \ | ||||||
|  | 	create_testsuite_report () \ | ||||||
|  | 	{ \ | ||||||
|  | 	  result_count $$1 "TOTAL:" $$all   "$$brg"; \ | ||||||
|  | 	  result_count $$1 "PASS: " $$pass  "$$grn"; \ | ||||||
|  | 	  result_count $$1 "SKIP: " $$skip  "$$blu"; \ | ||||||
|  | 	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ | ||||||
|  | 	  result_count $$1 "FAIL: " $$fail  "$$red"; \ | ||||||
|  | 	  result_count $$1 "XPASS:" $$xpass "$$red"; \ | ||||||
|  | 	  result_count $$1 "ERROR:" $$error "$$mgn"; \ | ||||||
|  | 	}; \ | ||||||
|  | 	{								\ | ||||||
|  | 	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\ | ||||||
|  | 	    $(am__rst_title);						\ | ||||||
|  | 	  create_testsuite_report --no-color;				\ | ||||||
|  | 	  echo;								\ | ||||||
|  | 	  echo ".. contents:: :depth: 2";				\ | ||||||
|  | 	  echo;								\ | ||||||
|  | 	  for b in $$bases; do echo $$b; done				\ | ||||||
|  | 	    | $(am__create_global_log);					\ | ||||||
|  | 	} >$(TEST_SUITE_LOG).tmp || exit 1;				\ | ||||||
|  | 	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\ | ||||||
|  | 	if $$success; then						\ | ||||||
|  | 	  col="$$grn";							\ | ||||||
|  | 	 else								\ | ||||||
|  | 	  col="$$red";							\ | ||||||
|  | 	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\ | ||||||
|  | 	fi;								\ | ||||||
|  | 	echo "$${col}$$br$${std}"; 					\ | ||||||
|  | 	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\ | ||||||
|  | 	echo "$${col}$$br$${std}"; 					\ | ||||||
|  | 	create_testsuite_report --maybe-color;				\ | ||||||
|  | 	echo "$$col$$br$$std";						\ | ||||||
|  | 	if $$success; then :; else					\ | ||||||
|  | 	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\ | ||||||
|  | 	  if test -n "$(PACKAGE_BUGREPORT)"; then			\ | ||||||
|  | 	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\ | ||||||
|  | 	  fi;								\ | ||||||
|  | 	  echo "$$col$$br$$std";					\ | ||||||
|  | 	fi;								\ | ||||||
|  | 	$$success || exit 1 | ||||||
|  |  | ||||||
|  | check-TESTS: $(check_PROGRAMS) | ||||||
|  | 	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list | ||||||
|  | 	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list | ||||||
|  | 	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) | ||||||
|  | 	@set +e; $(am__set_TESTS_bases); \ | ||||||
|  | 	log_list=`for i in $$bases; do echo $$i.log; done`; \ | ||||||
|  | 	trs_list=`for i in $$bases; do echo $$i.trs; done`; \ | ||||||
|  | 	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ | ||||||
|  | 	exit $$?; | ||||||
|  | recheck: all $(check_PROGRAMS) | ||||||
|  | 	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) | ||||||
|  | 	@set +e; $(am__set_TESTS_bases); \ | ||||||
|  | 	bases=`for i in $$bases; do echo $$i; done \ | ||||||
|  | 	         | $(am__list_recheck_tests)` || exit 1; \ | ||||||
|  | 	log_list=`for i in $$bases; do echo $$i.log; done`; \ | ||||||
|  | 	log_list=`echo $$log_list`; \ | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ | ||||||
|  | 	        am__force_recheck=am--force-recheck \ | ||||||
|  | 	        TEST_LOGS="$$log_list"; \ | ||||||
|  | 	exit $$? | ||||||
|  | test.log: test$(EXEEXT) | ||||||
|  | 	@p='test$(EXEEXT)'; \ | ||||||
|  | 	b='test'; \ | ||||||
|  | 	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ | ||||||
|  | 	--log-file $$b.log --trs-file $$b.trs \ | ||||||
|  | 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ | ||||||
|  | 	"$$tst" $(AM_TESTS_FD_REDIRECT) | ||||||
|  | .test.log: | ||||||
|  | 	@p='$<'; \ | ||||||
|  | 	$(am__set_b); \ | ||||||
|  | 	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ | ||||||
|  | 	--log-file $$b.log --trs-file $$b.trs \ | ||||||
|  | 	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ | ||||||
|  | 	"$$tst" $(AM_TESTS_FD_REDIRECT) | ||||||
|  | #.test$(EXEEXT).log: | ||||||
|  | #	@p='$<'; \ | ||||||
|  | #	$(am__set_b); \ | ||||||
|  | #	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ | ||||||
|  | #	--log-file $$b.log --trs-file $$b.trs \ | ||||||
|  | #	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ | ||||||
|  | #	"$$tst" $(AM_TESTS_FD_REDIRECT) | ||||||
|  |  | ||||||
|  | distdir: $(BUILT_SOURCES) | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) distdir-am | ||||||
|  |  | ||||||
|  | distdir-am: $(DISTFILES) | ||||||
|  | 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	list='$(DISTFILES)'; \ | ||||||
|  | 	  dist_files=`for file in $$list; do echo $$file; done | \ | ||||||
|  | 	  sed -e "s|^$$srcdirstrip/||;t" \ | ||||||
|  | 	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ | ||||||
|  | 	case $$dist_files in \ | ||||||
|  | 	  */*) $(MKDIR_P) `echo "$$dist_files" | \ | ||||||
|  | 			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ | ||||||
|  | 			   sort -u` ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for file in $$dist_files; do \ | ||||||
|  | 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ | ||||||
|  | 	  if test -d $$d/$$file; then \ | ||||||
|  | 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ | ||||||
|  | 	    if test -d "$(distdir)/$$file"; then \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ | ||||||
|  | 	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    test -f "$(distdir)/$$file" \ | ||||||
|  | 	    || cp -p $$d/$$file "$(distdir)/$$file" \ | ||||||
|  | 	    || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done | ||||||
|  | check-am: all-am | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) check-TESTS | ||||||
|  | check: check-am | ||||||
|  | all-am: Makefile $(LIBRARIES) $(HEADERS) | ||||||
|  | installdirs: | ||||||
|  | 	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \ | ||||||
|  | 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \ | ||||||
|  | 	done | ||||||
|  | install: install-am | ||||||
|  | install-exec: install-exec-am | ||||||
|  | install-data: install-data-am | ||||||
|  | uninstall: uninstall-am | ||||||
|  |  | ||||||
|  | install-am: all-am | ||||||
|  | 	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||||||
|  |  | ||||||
|  | installcheck: installcheck-am | ||||||
|  | install-strip: | ||||||
|  | 	if test -z '$(STRIP)'; then \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	      install; \ | ||||||
|  | 	else \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ | ||||||
|  | 	fi | ||||||
|  | mostlyclean-generic: | ||||||
|  | 	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) | ||||||
|  | 	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) | ||||||
|  | 	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) | ||||||
|  |  | ||||||
|  | clean-generic: | ||||||
|  | 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) | ||||||
|  |  | ||||||
|  | distclean-generic: | ||||||
|  | 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | ||||||
|  | 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) | ||||||
|  |  | ||||||
|  | maintainer-clean-generic: | ||||||
|  | 	@echo "This command is intended for maintainers to use" | ||||||
|  | 	@echo "it deletes files that may require special tools to rebuild." | ||||||
|  | clean: clean-am | ||||||
|  |  | ||||||
|  | clean-am: clean-checkPROGRAMS clean-generic clean-libLIBRARIES \ | ||||||
|  | 	mostlyclean-am | ||||||
|  |  | ||||||
|  | distclean: distclean-am | ||||||
|  | 		-rm -f ./$(DEPDIR)/bcm2835.Po | ||||||
|  | 	-rm -f ./$(DEPDIR)/test.Po | ||||||
|  | 	-rm -f Makefile | ||||||
|  | distclean-am: clean-am distclean-compile distclean-generic \ | ||||||
|  | 	distclean-tags | ||||||
|  |  | ||||||
|  | dvi: dvi-am | ||||||
|  |  | ||||||
|  | dvi-am: | ||||||
|  |  | ||||||
|  | html: html-am | ||||||
|  |  | ||||||
|  | html-am: | ||||||
|  |  | ||||||
|  | info: info-am | ||||||
|  |  | ||||||
|  | info-am: | ||||||
|  |  | ||||||
|  | install-data-am: install-includeHEADERS | ||||||
|  |  | ||||||
|  | install-dvi: install-dvi-am | ||||||
|  |  | ||||||
|  | install-dvi-am: | ||||||
|  |  | ||||||
|  | install-exec-am: install-libLIBRARIES | ||||||
|  |  | ||||||
|  | install-html: install-html-am | ||||||
|  |  | ||||||
|  | install-html-am: | ||||||
|  |  | ||||||
|  | install-info: install-info-am | ||||||
|  |  | ||||||
|  | install-info-am: | ||||||
|  |  | ||||||
|  | install-man: | ||||||
|  |  | ||||||
|  | install-pdf: install-pdf-am | ||||||
|  |  | ||||||
|  | install-pdf-am: | ||||||
|  |  | ||||||
|  | install-ps: install-ps-am | ||||||
|  |  | ||||||
|  | install-ps-am: | ||||||
|  |  | ||||||
|  | installcheck-am: | ||||||
|  |  | ||||||
|  | maintainer-clean: maintainer-clean-am | ||||||
|  | 		-rm -f ./$(DEPDIR)/bcm2835.Po | ||||||
|  | 	-rm -f ./$(DEPDIR)/test.Po | ||||||
|  | 	-rm -f Makefile | ||||||
|  | maintainer-clean-am: distclean-am maintainer-clean-generic | ||||||
|  |  | ||||||
|  | mostlyclean: mostlyclean-am | ||||||
|  |  | ||||||
|  | mostlyclean-am: mostlyclean-compile mostlyclean-generic | ||||||
|  |  | ||||||
|  | pdf: pdf-am | ||||||
|  |  | ||||||
|  | pdf-am: | ||||||
|  |  | ||||||
|  | ps: ps-am | ||||||
|  |  | ||||||
|  | ps-am: | ||||||
|  |  | ||||||
|  | uninstall-am: uninstall-includeHEADERS uninstall-libLIBRARIES | ||||||
|  |  | ||||||
|  | .MAKE: check-am install-am install-strip | ||||||
|  |  | ||||||
|  | .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ | ||||||
|  | 	check-am clean clean-checkPROGRAMS clean-generic \ | ||||||
|  | 	clean-libLIBRARIES cscopelist-am ctags ctags-am distclean \ | ||||||
|  | 	distclean-compile distclean-generic distclean-tags distdir dvi \ | ||||||
|  | 	dvi-am html html-am info info-am install install-am \ | ||||||
|  | 	install-data install-data-am install-dvi install-dvi-am \ | ||||||
|  | 	install-exec install-exec-am install-html install-html-am \ | ||||||
|  | 	install-includeHEADERS install-info install-info-am \ | ||||||
|  | 	install-libLIBRARIES install-man install-pdf install-pdf-am \ | ||||||
|  | 	install-ps install-ps-am install-strip installcheck \ | ||||||
|  | 	installcheck-am installdirs maintainer-clean \ | ||||||
|  | 	maintainer-clean-generic mostlyclean mostlyclean-compile \ | ||||||
|  | 	mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \ | ||||||
|  | 	uninstall uninstall-am uninstall-includeHEADERS \ | ||||||
|  | 	uninstall-libLIBRARIES | ||||||
|  |  | ||||||
|  | .PRECIOUS: Makefile | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Tell versions [3.59,3.63) of GNU make to not export all variables. | ||||||
|  | # Otherwise a system limit (for SysV at least) may be exceeded. | ||||||
|  | .NOEXPORT: | ||||||
| @@ -0,0 +1,9 @@ | |||||||
|  | lib_LIBRARIES = libbcm2835.a | ||||||
|  | libbcm2835_a_SOURCES = bcm2835.c | ||||||
|  | include_HEADERS = bcm2835.h | ||||||
|  | check_PROGRAMS = test | ||||||
|  | test_SOURCES = test.c | ||||||
|  | test_LDADD = ./libbcm2835.a | ||||||
|  | TESTS = $(check_PROGRAMS) | ||||||
|  | CLEANFILES = *~ | ||||||
|  |  | ||||||
| @@ -0,0 +1,987 @@ | |||||||
|  | # Makefile.in generated by automake 1.16.1 from Makefile.am. | ||||||
|  | # @configure_input@ | ||||||
|  |  | ||||||
|  | # Copyright (C) 1994-2018 Free Software Foundation, Inc. | ||||||
|  |  | ||||||
|  | # This Makefile.in is free software; the Free Software Foundation | ||||||
|  | # gives unlimited permission to copy and/or distribute it, | ||||||
|  | # with or without modifications, as long as this notice is preserved. | ||||||
|  |  | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||||||
|  | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||||||
|  | # PARTICULAR PURPOSE. | ||||||
|  |  | ||||||
|  | @SET_MAKE@ | ||||||
|  |  | ||||||
|  |  | ||||||
|  | VPATH = @srcdir@ | ||||||
|  | am__is_gnu_make = { \ | ||||||
|  |   if test -z '$(MAKELEVEL)'; then \ | ||||||
|  |     false; \ | ||||||
|  |   elif test -n '$(MAKE_HOST)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ | ||||||
|  |     true; \ | ||||||
|  |   else \ | ||||||
|  |     false; \ | ||||||
|  |   fi; \ | ||||||
|  | } | ||||||
|  | am__make_running_with_option = \ | ||||||
|  |   case $${target_option-} in \ | ||||||
|  |       ?) ;; \ | ||||||
|  |       *) echo "am__make_running_with_option: internal error: invalid" \ | ||||||
|  |               "target option '$${target_option-}' specified" >&2; \ | ||||||
|  |          exit 1;; \ | ||||||
|  |   esac; \ | ||||||
|  |   has_opt=no; \ | ||||||
|  |   sane_makeflags=$$MAKEFLAGS; \ | ||||||
|  |   if $(am__is_gnu_make); then \ | ||||||
|  |     sane_makeflags=$$MFLAGS; \ | ||||||
|  |   else \ | ||||||
|  |     case $$MAKEFLAGS in \ | ||||||
|  |       *\\[\ \	]*) \ | ||||||
|  |         bs=\\; \ | ||||||
|  |         sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | ||||||
|  |           | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \ | ||||||
|  |     esac; \ | ||||||
|  |   fi; \ | ||||||
|  |   skip_next=no; \ | ||||||
|  |   strip_trailopt () \ | ||||||
|  |   { \ | ||||||
|  |     flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ | ||||||
|  |   }; \ | ||||||
|  |   for flg in $$sane_makeflags; do \ | ||||||
|  |     test $$skip_next = yes && { skip_next=no; continue; }; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *=*|--*) continue;; \ | ||||||
|  |         -*I) strip_trailopt 'I'; skip_next=yes;; \ | ||||||
|  |       -*I?*) strip_trailopt 'I';; \ | ||||||
|  |         -*O) strip_trailopt 'O'; skip_next=yes;; \ | ||||||
|  |       -*O?*) strip_trailopt 'O';; \ | ||||||
|  |         -*l) strip_trailopt 'l'; skip_next=yes;; \ | ||||||
|  |       -*l?*) strip_trailopt 'l';; \ | ||||||
|  |       -[dEDm]) skip_next=yes;; \ | ||||||
|  |       -[JT]) skip_next=yes;; \ | ||||||
|  |     esac; \ | ||||||
|  |     case $$flg in \ | ||||||
|  |       *$$target_option*) has_opt=yes; break;; \ | ||||||
|  |     esac; \ | ||||||
|  |   done; \ | ||||||
|  |   test $$has_opt = yes | ||||||
|  | am__make_dryrun = (target_option=n; $(am__make_running_with_option)) | ||||||
|  | am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) | ||||||
|  | pkgdatadir = $(datadir)/@PACKAGE@ | ||||||
|  | pkgincludedir = $(includedir)/@PACKAGE@ | ||||||
|  | pkglibdir = $(libdir)/@PACKAGE@ | ||||||
|  | pkglibexecdir = $(libexecdir)/@PACKAGE@ | ||||||
|  | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | ||||||
|  | install_sh_DATA = $(install_sh) -c -m 644 | ||||||
|  | install_sh_PROGRAM = $(install_sh) -c | ||||||
|  | install_sh_SCRIPT = $(install_sh) -c | ||||||
|  | INSTALL_HEADER = $(INSTALL_DATA) | ||||||
|  | transform = $(program_transform_name) | ||||||
|  | NORMAL_INSTALL = : | ||||||
|  | PRE_INSTALL = : | ||||||
|  | POST_INSTALL = : | ||||||
|  | NORMAL_UNINSTALL = : | ||||||
|  | PRE_UNINSTALL = : | ||||||
|  | POST_UNINSTALL = : | ||||||
|  | check_PROGRAMS = test$(EXEEXT) | ||||||
|  | subdir = src | ||||||
|  | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||||||
|  | am__aclocal_m4_deps = $(top_srcdir)/configure.ac | ||||||
|  | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | ||||||
|  | 	$(ACLOCAL_M4) | ||||||
|  | DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \ | ||||||
|  | 	$(am__DIST_COMMON) | ||||||
|  | mkinstalldirs = $(install_sh) -d | ||||||
|  | CONFIG_HEADER = $(top_builddir)/config.h | ||||||
|  | CONFIG_CLEAN_FILES = | ||||||
|  | CONFIG_CLEAN_VPATH_FILES = | ||||||
|  | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; | ||||||
|  | am__vpath_adj = case $$p in \ | ||||||
|  |     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ | ||||||
|  |     *) f=$$p;; \ | ||||||
|  |   esac; | ||||||
|  | am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; | ||||||
|  | am__install_max = 40 | ||||||
|  | am__nobase_strip_setup = \ | ||||||
|  |   srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` | ||||||
|  | am__nobase_strip = \ | ||||||
|  |   for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" | ||||||
|  | am__nobase_list = $(am__nobase_strip_setup); \ | ||||||
|  |   for p in $$list; do echo "$$p $$p"; done | \ | ||||||
|  |   sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ | ||||||
|  |   $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ | ||||||
|  |     if (++n[$$2] == $(am__install_max)) \ | ||||||
|  |       { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ | ||||||
|  |     END { for (dir in files) print dir, files[dir] }' | ||||||
|  | am__base_list = \ | ||||||
|  |   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ | ||||||
|  |   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | ||||||
|  | am__uninstall_files_from_dir = { \ | ||||||
|  |   test -z "$$files" \ | ||||||
|  |     || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ | ||||||
|  |     || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ | ||||||
|  |          $(am__cd) "$$dir" && rm -f $$files; }; \ | ||||||
|  |   } | ||||||
|  | am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)" | ||||||
|  | LIBRARIES = $(lib_LIBRARIES) | ||||||
|  | AR = ar | ||||||
|  | ARFLAGS = cru | ||||||
|  | AM_V_AR = $(am__v_AR_@AM_V@) | ||||||
|  | am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) | ||||||
|  | am__v_AR_0 = @echo "  AR      " $@; | ||||||
|  | am__v_AR_1 =  | ||||||
|  | libbcm2835_a_AR = $(AR) $(ARFLAGS) | ||||||
|  | libbcm2835_a_LIBADD = | ||||||
|  | am_libbcm2835_a_OBJECTS = bcm2835.$(OBJEXT) | ||||||
|  | libbcm2835_a_OBJECTS = $(am_libbcm2835_a_OBJECTS) | ||||||
|  | am_test_OBJECTS = test.$(OBJEXT) | ||||||
|  | test_OBJECTS = $(am_test_OBJECTS) | ||||||
|  | test_DEPENDENCIES = ./libbcm2835.a | ||||||
|  | AM_V_P = $(am__v_P_@AM_V@) | ||||||
|  | am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) | ||||||
|  | am__v_P_0 = false | ||||||
|  | am__v_P_1 = : | ||||||
|  | AM_V_GEN = $(am__v_GEN_@AM_V@) | ||||||
|  | am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) | ||||||
|  | am__v_GEN_0 = @echo "  GEN     " $@; | ||||||
|  | am__v_GEN_1 =  | ||||||
|  | AM_V_at = $(am__v_at_@AM_V@) | ||||||
|  | am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) | ||||||
|  | am__v_at_0 = @ | ||||||
|  | am__v_at_1 =  | ||||||
|  | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) | ||||||
|  | depcomp = $(SHELL) $(top_srcdir)/depcomp | ||||||
|  | am__maybe_remake_depfiles = depfiles | ||||||
|  | am__depfiles_remade = ./$(DEPDIR)/bcm2835.Po ./$(DEPDIR)/test.Po | ||||||
|  | am__mv = mv -f | ||||||
|  | COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ | ||||||
|  | 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) | ||||||
|  | AM_V_CC = $(am__v_CC_@AM_V@) | ||||||
|  | am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) | ||||||
|  | am__v_CC_0 = @echo "  CC      " $@; | ||||||
|  | am__v_CC_1 =  | ||||||
|  | CCLD = $(CC) | ||||||
|  | LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ | ||||||
|  | AM_V_CCLD = $(am__v_CCLD_@AM_V@) | ||||||
|  | am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) | ||||||
|  | am__v_CCLD_0 = @echo "  CCLD    " $@; | ||||||
|  | am__v_CCLD_1 =  | ||||||
|  | SOURCES = $(libbcm2835_a_SOURCES) $(test_SOURCES) | ||||||
|  | DIST_SOURCES = $(libbcm2835_a_SOURCES) $(test_SOURCES) | ||||||
|  | am__can_run_installinfo = \ | ||||||
|  |   case $$AM_UPDATE_INFO_DIR in \ | ||||||
|  |     n|no|NO) false;; \ | ||||||
|  |     *) (install-info --version) >/dev/null 2>&1;; \ | ||||||
|  |   esac | ||||||
|  | HEADERS = $(include_HEADERS) | ||||||
|  | am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) | ||||||
|  | # Read a list of newline-separated strings from the standard input, | ||||||
|  | # and print each of them once, without duplicates.  Input order is | ||||||
|  | # *not* preserved. | ||||||
|  | am__uniquify_input = $(AWK) '\ | ||||||
|  |   BEGIN { nonempty = 0; } \ | ||||||
|  |   { items[$$0] = 1; nonempty = 1; } \ | ||||||
|  |   END { if (nonempty) { for (i in items) print i; }; } \ | ||||||
|  | ' | ||||||
|  | # Make sure the list of sources is unique.  This is necessary because, | ||||||
|  | # e.g., the same source file might be shared among _SOURCES variables | ||||||
|  | # for different programs/libraries. | ||||||
|  | am__define_uniq_tagged_files = \ | ||||||
|  |   list='$(am__tagged_files)'; \ | ||||||
|  |   unique=`for i in $$list; do \ | ||||||
|  |     if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||||||
|  |   done | $(am__uniquify_input)` | ||||||
|  | ETAGS = etags | ||||||
|  | CTAGS = ctags | ||||||
|  | am__tty_colors_dummy = \ | ||||||
|  |   mgn= red= grn= lgn= blu= brg= std=; \ | ||||||
|  |   am__color_tests=no | ||||||
|  | am__tty_colors = { \ | ||||||
|  |   $(am__tty_colors_dummy); \ | ||||||
|  |   if test "X$(AM_COLOR_TESTS)" = Xno; then \ | ||||||
|  |     am__color_tests=no; \ | ||||||
|  |   elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ | ||||||
|  |     am__color_tests=yes; \ | ||||||
|  |   elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ | ||||||
|  |     am__color_tests=yes; \ | ||||||
|  |   fi; \ | ||||||
|  |   if test $$am__color_tests = yes; then \ | ||||||
|  |     red='[0;31m'; \ | ||||||
|  |     grn='[0;32m'; \ | ||||||
|  |     lgn='[1;32m'; \ | ||||||
|  |     blu='[1;34m'; \ | ||||||
|  |     mgn='[0;35m'; \ | ||||||
|  |     brg='[1m'; \ | ||||||
|  |     std='[m'; \ | ||||||
|  |   fi; \ | ||||||
|  | } | ||||||
|  | am__recheck_rx = ^[ 	]*:recheck:[ 	]* | ||||||
|  | am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]* | ||||||
|  | am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]* | ||||||
|  | # A command that, given a newline-separated list of test names on the | ||||||
|  | # standard input, print the name of the tests that are to be re-run | ||||||
|  | # upon "make recheck". | ||||||
|  | am__list_recheck_tests = $(AWK) '{ \ | ||||||
|  |   recheck = 1; \ | ||||||
|  |   while ((rc = (getline line < ($$0 ".trs"))) != 0) \ | ||||||
|  |     { \ | ||||||
|  |       if (rc < 0) \ | ||||||
|  |         { \ | ||||||
|  |           if ((getline line2 < ($$0 ".log")) < 0) \ | ||||||
|  | 	    recheck = 0; \ | ||||||
|  |           break; \ | ||||||
|  |         } \ | ||||||
|  |       else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ | ||||||
|  |         { \ | ||||||
|  |           recheck = 0; \ | ||||||
|  |           break; \ | ||||||
|  |         } \ | ||||||
|  |       else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ | ||||||
|  |         { \ | ||||||
|  |           break; \ | ||||||
|  |         } \ | ||||||
|  |     }; \ | ||||||
|  |   if (recheck) \ | ||||||
|  |     print $$0; \ | ||||||
|  |   close ($$0 ".trs"); \ | ||||||
|  |   close ($$0 ".log"); \ | ||||||
|  | }' | ||||||
|  | # A command that, given a newline-separated list of test names on the | ||||||
|  | # standard input, create the global log from their .trs and .log files. | ||||||
|  | am__create_global_log = $(AWK) ' \ | ||||||
|  | function fatal(msg) \ | ||||||
|  | { \ | ||||||
|  |   print "fatal: making $@: " msg | "cat >&2"; \ | ||||||
|  |   exit 1; \ | ||||||
|  | } \ | ||||||
|  | function rst_section(header) \ | ||||||
|  | { \ | ||||||
|  |   print header; \ | ||||||
|  |   len = length(header); \ | ||||||
|  |   for (i = 1; i <= len; i = i + 1) \ | ||||||
|  |     printf "="; \ | ||||||
|  |   printf "\n\n"; \ | ||||||
|  | } \ | ||||||
|  | { \ | ||||||
|  |   copy_in_global_log = 1; \ | ||||||
|  |   global_test_result = "RUN"; \ | ||||||
|  |   while ((rc = (getline line < ($$0 ".trs"))) != 0) \ | ||||||
|  |     { \ | ||||||
|  |       if (rc < 0) \ | ||||||
|  |          fatal("failed to read from " $$0 ".trs"); \ | ||||||
|  |       if (line ~ /$(am__global_test_result_rx)/) \ | ||||||
|  |         { \ | ||||||
|  |           sub("$(am__global_test_result_rx)", "", line); \ | ||||||
|  |           sub("[ 	]*$$", "", line); \ | ||||||
|  |           global_test_result = line; \ | ||||||
|  |         } \ | ||||||
|  |       else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ | ||||||
|  |         copy_in_global_log = 0; \ | ||||||
|  |     }; \ | ||||||
|  |   if (copy_in_global_log) \ | ||||||
|  |     { \ | ||||||
|  |       rst_section(global_test_result ": " $$0); \ | ||||||
|  |       while ((rc = (getline line < ($$0 ".log"))) != 0) \ | ||||||
|  |       { \ | ||||||
|  |         if (rc < 0) \ | ||||||
|  |           fatal("failed to read from " $$0 ".log"); \ | ||||||
|  |         print line; \ | ||||||
|  |       }; \ | ||||||
|  |       printf "\n"; \ | ||||||
|  |     }; \ | ||||||
|  |   close ($$0 ".trs"); \ | ||||||
|  |   close ($$0 ".log"); \ | ||||||
|  | }' | ||||||
|  | # Restructured Text title. | ||||||
|  | am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } | ||||||
|  | # Solaris 10 'make', and several other traditional 'make' implementations, | ||||||
|  | # pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it | ||||||
|  | # by disabling -e (using the XSI extension "set +e") if it's set. | ||||||
|  | am__sh_e_setup = case $$- in *e*) set +e;; esac | ||||||
|  | # Default flags passed to test drivers. | ||||||
|  | am__common_driver_flags = \ | ||||||
|  |   --color-tests "$$am__color_tests" \ | ||||||
|  |   --enable-hard-errors "$$am__enable_hard_errors" \ | ||||||
|  |   --expect-failure "$$am__expect_failure" | ||||||
|  | # To be inserted before the command running the test.  Creates the | ||||||
|  | # directory for the log if needed.  Stores in $dir the directory | ||||||
|  | # containing $f, in $tst the test, in $log the log.  Executes the | ||||||
|  | # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and | ||||||
|  | # passes TESTS_ENVIRONMENT.  Set up options for the wrapper that | ||||||
|  | # will run the test scripts (or their associated LOG_COMPILER, if | ||||||
|  | # thy have one). | ||||||
|  | am__check_pre = \ | ||||||
|  | $(am__sh_e_setup);					\ | ||||||
|  | $(am__vpath_adj_setup) $(am__vpath_adj)			\ | ||||||
|  | $(am__tty_colors);					\ | ||||||
|  | srcdir=$(srcdir); export srcdir;			\ | ||||||
|  | case "$@" in						\ | ||||||
|  |   */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\ | ||||||
|  |     *) am__odir=.;; 					\ | ||||||
|  | esac;							\ | ||||||
|  | test "x$$am__odir" = x"." || test -d "$$am__odir" 	\ | ||||||
|  |   || $(MKDIR_P) "$$am__odir" || exit $$?;		\ | ||||||
|  | if test -f "./$$f"; then dir=./;			\ | ||||||
|  | elif test -f "$$f"; then dir=;				\ | ||||||
|  | else dir="$(srcdir)/"; fi;				\ | ||||||
|  | tst=$$dir$$f; log='$@'; 				\ | ||||||
|  | if test -n '$(DISABLE_HARD_ERRORS)'; then		\ | ||||||
|  |   am__enable_hard_errors=no; 				\ | ||||||
|  | else							\ | ||||||
|  |   am__enable_hard_errors=yes; 				\ | ||||||
|  | fi; 							\ | ||||||
|  | case " $(XFAIL_TESTS) " in				\ | ||||||
|  |   *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \ | ||||||
|  |     am__expect_failure=yes;;				\ | ||||||
|  |   *)							\ | ||||||
|  |     am__expect_failure=no;;				\ | ||||||
|  | esac; 							\ | ||||||
|  | $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) | ||||||
|  | # A shell command to get the names of the tests scripts with any registered | ||||||
|  | # extension removed (i.e., equivalently, the names of the test logs, with | ||||||
|  | # the '.log' extension removed).  The result is saved in the shell variable | ||||||
|  | # '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly, | ||||||
|  | # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", | ||||||
|  | # since that might cause problem with VPATH rewrites for suffix-less tests. | ||||||
|  | # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. | ||||||
|  | am__set_TESTS_bases = \ | ||||||
|  |   bases='$(TEST_LOGS)'; \ | ||||||
|  |   bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ | ||||||
|  |   bases=`echo $$bases` | ||||||
|  | RECHECK_LOGS = $(TEST_LOGS) | ||||||
|  | AM_RECURSIVE_TARGETS = check recheck | ||||||
|  | TEST_SUITE_LOG = test-suite.log | ||||||
|  | TEST_EXTENSIONS = @EXEEXT@ .test | ||||||
|  | LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver | ||||||
|  | LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) | ||||||
|  | am__set_b = \ | ||||||
|  |   case '$@' in \ | ||||||
|  |     */*) \ | ||||||
|  |       case '$*' in \ | ||||||
|  |         */*) b='$*';; \ | ||||||
|  |           *) b=`echo '$@' | sed 's/\.log$$//'`; \ | ||||||
|  |        esac;; \ | ||||||
|  |     *) \ | ||||||
|  |       b='$*';; \ | ||||||
|  |   esac | ||||||
|  | am__test_logs1 = $(TESTS:=.log) | ||||||
|  | am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) | ||||||
|  | TEST_LOGS = $(am__test_logs2:.test.log=.log) | ||||||
|  | TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver | ||||||
|  | TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ | ||||||
|  | 	$(TEST_LOG_FLAGS) | ||||||
|  | am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ | ||||||
|  | 	$(top_srcdir)/test-driver | ||||||
|  | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | ||||||
|  | ACLOCAL = @ACLOCAL@ | ||||||
|  | AMTAR = @AMTAR@ | ||||||
|  | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ | ||||||
|  | AUTOCONF = @AUTOCONF@ | ||||||
|  | AUTOHEADER = @AUTOHEADER@ | ||||||
|  | AUTOMAKE = @AUTOMAKE@ | ||||||
|  | AWK = @AWK@ | ||||||
|  | CC = @CC@ | ||||||
|  | CCDEPMODE = @CCDEPMODE@ | ||||||
|  | CFLAGS = @CFLAGS@ | ||||||
|  | CPPFLAGS = @CPPFLAGS@ | ||||||
|  | CYGPATH_W = @CYGPATH_W@ | ||||||
|  | DEFS = @DEFS@ | ||||||
|  | DEPDIR = @DEPDIR@ | ||||||
|  | DOXYGEN = @DOXYGEN@ | ||||||
|  | ECHO_C = @ECHO_C@ | ||||||
|  | ECHO_N = @ECHO_N@ | ||||||
|  | ECHO_T = @ECHO_T@ | ||||||
|  | EXEEXT = @EXEEXT@ | ||||||
|  | INSTALL = @INSTALL@ | ||||||
|  | INSTALL_DATA = @INSTALL_DATA@ | ||||||
|  | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||||||
|  | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||||||
|  | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||||||
|  | LDFLAGS = @LDFLAGS@ | ||||||
|  | LIBOBJS = @LIBOBJS@ | ||||||
|  | LIBS = @LIBS@ | ||||||
|  | LTLIBOBJS = @LTLIBOBJS@ | ||||||
|  | MAKEINFO = @MAKEINFO@ | ||||||
|  | MKDIR_P = @MKDIR_P@ | ||||||
|  | OBJEXT = @OBJEXT@ | ||||||
|  | PACKAGE = @PACKAGE@ | ||||||
|  | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | ||||||
|  | PACKAGE_NAME = @PACKAGE_NAME@ | ||||||
|  | PACKAGE_STRING = @PACKAGE_STRING@ | ||||||
|  | PACKAGE_TARNAME = @PACKAGE_TARNAME@ | ||||||
|  | PACKAGE_URL = @PACKAGE_URL@ | ||||||
|  | PACKAGE_VERSION = @PACKAGE_VERSION@ | ||||||
|  | PATH_SEPARATOR = @PATH_SEPARATOR@ | ||||||
|  | RANLIB = @RANLIB@ | ||||||
|  | SET_MAKE = @SET_MAKE@ | ||||||
|  | SHELL = @SHELL@ | ||||||
|  | STRIP = @STRIP@ | ||||||
|  | VERSION = @VERSION@ | ||||||
|  | abs_builddir = @abs_builddir@ | ||||||
|  | abs_srcdir = @abs_srcdir@ | ||||||
|  | abs_top_builddir = @abs_top_builddir@ | ||||||
|  | abs_top_srcdir = @abs_top_srcdir@ | ||||||
|  | ac_ct_CC = @ac_ct_CC@ | ||||||
|  | am__include = @am__include@ | ||||||
|  | am__leading_dot = @am__leading_dot@ | ||||||
|  | am__quote = @am__quote@ | ||||||
|  | am__tar = @am__tar@ | ||||||
|  | am__untar = @am__untar@ | ||||||
|  | bindir = @bindir@ | ||||||
|  | build_alias = @build_alias@ | ||||||
|  | builddir = @builddir@ | ||||||
|  | datadir = @datadir@ | ||||||
|  | datarootdir = @datarootdir@ | ||||||
|  | docdir = @docdir@ | ||||||
|  | dvidir = @dvidir@ | ||||||
|  | exec_prefix = @exec_prefix@ | ||||||
|  | host_alias = @host_alias@ | ||||||
|  | htmldir = @htmldir@ | ||||||
|  | includedir = @includedir@ | ||||||
|  | infodir = @infodir@ | ||||||
|  | install_sh = @install_sh@ | ||||||
|  | libdir = @libdir@ | ||||||
|  | libexecdir = @libexecdir@ | ||||||
|  | localedir = @localedir@ | ||||||
|  | localstatedir = @localstatedir@ | ||||||
|  | mandir = @mandir@ | ||||||
|  | mkdir_p = @mkdir_p@ | ||||||
|  | oldincludedir = @oldincludedir@ | ||||||
|  | pdfdir = @pdfdir@ | ||||||
|  | prefix = @prefix@ | ||||||
|  | program_transform_name = @program_transform_name@ | ||||||
|  | psdir = @psdir@ | ||||||
|  | runstatedir = @runstatedir@ | ||||||
|  | sbindir = @sbindir@ | ||||||
|  | sharedstatedir = @sharedstatedir@ | ||||||
|  | srcdir = @srcdir@ | ||||||
|  | sysconfdir = @sysconfdir@ | ||||||
|  | target_alias = @target_alias@ | ||||||
|  | top_build_prefix = @top_build_prefix@ | ||||||
|  | top_builddir = @top_builddir@ | ||||||
|  | top_srcdir = @top_srcdir@ | ||||||
|  | lib_LIBRARIES = libbcm2835.a | ||||||
|  | libbcm2835_a_SOURCES = bcm2835.c | ||||||
|  | include_HEADERS = bcm2835.h | ||||||
|  | test_SOURCES = test.c | ||||||
|  | test_LDADD = ./libbcm2835.a | ||||||
|  | TESTS = $(check_PROGRAMS) | ||||||
|  | CLEANFILES = *~ | ||||||
|  | all: all-am | ||||||
|  |  | ||||||
|  | .SUFFIXES: | ||||||
|  | .SUFFIXES: .c .log .o .obj .test .test$(EXEEXT) .trs | ||||||
|  | $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps) | ||||||
|  | 	@for dep in $?; do \ | ||||||
|  | 	  case '$(am__configure_deps)' in \ | ||||||
|  | 	    *$$dep*) \ | ||||||
|  | 	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ | ||||||
|  | 	        && { if test -f $@; then exit 0; else break; fi; }; \ | ||||||
|  | 	      exit 1;; \ | ||||||
|  | 	  esac; \ | ||||||
|  | 	done; \ | ||||||
|  | 	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ | ||||||
|  | 	$(am__cd) $(top_srcdir) && \ | ||||||
|  | 	  $(AUTOMAKE) --gnu src/Makefile | ||||||
|  | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||||||
|  | 	@case '$?' in \ | ||||||
|  | 	  *config.status*) \ | ||||||
|  | 	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ | ||||||
|  | 	  *) \ | ||||||
|  | 	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ | ||||||
|  | 	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ | ||||||
|  | 	esac; | ||||||
|  |  | ||||||
|  | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  |  | ||||||
|  | $(top_srcdir)/configure:  $(am__configure_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(ACLOCAL_M4):  $(am__aclocal_m4_deps) | ||||||
|  | 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||||||
|  | $(am__aclocal_m4_deps): | ||||||
|  |  | ||||||
|  | clean-checkPROGRAMS: | ||||||
|  | 	-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) | ||||||
|  | install-libLIBRARIES: $(lib_LIBRARIES) | ||||||
|  | 	@$(NORMAL_INSTALL) | ||||||
|  | 	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ | ||||||
|  | 	list2=; for p in $$list; do \ | ||||||
|  | 	  if test -f $$p; then \ | ||||||
|  | 	    list2="$$list2 $$p"; \ | ||||||
|  | 	  else :; fi; \ | ||||||
|  | 	done; \ | ||||||
|  | 	test -z "$$list2" || { \ | ||||||
|  | 	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ | ||||||
|  | 	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ | ||||||
|  | 	  echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ | ||||||
|  | 	  $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } | ||||||
|  | 	@$(POST_INSTALL) | ||||||
|  | 	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ | ||||||
|  | 	for p in $$list; do \ | ||||||
|  | 	  if test -f $$p; then \ | ||||||
|  | 	    $(am__strip_dir) \ | ||||||
|  | 	    echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ | ||||||
|  | 	    ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ | ||||||
|  | 	  else :; fi; \ | ||||||
|  | 	done | ||||||
|  |  | ||||||
|  | uninstall-libLIBRARIES: | ||||||
|  | 	@$(NORMAL_UNINSTALL) | ||||||
|  | 	@list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ | ||||||
|  | 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ | ||||||
|  | 	dir='$(DESTDIR)$(libdir)'; $(am__uninstall_files_from_dir) | ||||||
|  |  | ||||||
|  | clean-libLIBRARIES: | ||||||
|  | 	-test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) | ||||||
|  |  | ||||||
|  | libbcm2835.a: $(libbcm2835_a_OBJECTS) $(libbcm2835_a_DEPENDENCIES) $(EXTRA_libbcm2835_a_DEPENDENCIES)  | ||||||
|  | 	$(AM_V_at)-rm -f libbcm2835.a | ||||||
|  | 	$(AM_V_AR)$(libbcm2835_a_AR) libbcm2835.a $(libbcm2835_a_OBJECTS) $(libbcm2835_a_LIBADD) | ||||||
|  | 	$(AM_V_at)$(RANLIB) libbcm2835.a | ||||||
|  |  | ||||||
|  | test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES)  | ||||||
|  | 	@rm -f test$(EXEEXT) | ||||||
|  | 	$(AM_V_CCLD)$(LINK) $(test_OBJECTS) $(test_LDADD) $(LIBS) | ||||||
|  |  | ||||||
|  | mostlyclean-compile: | ||||||
|  | 	-rm -f *.$(OBJEXT) | ||||||
|  |  | ||||||
|  | distclean-compile: | ||||||
|  | 	-rm -f *.tab.c | ||||||
|  |  | ||||||
|  | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bcm2835.Po@am__quote@ # am--include-marker | ||||||
|  | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test.Po@am__quote@ # am--include-marker | ||||||
|  |  | ||||||
|  | $(am__depfiles_remade): | ||||||
|  | 	@$(MKDIR_P) $(@D) | ||||||
|  | 	@echo '# dummy' >$@-t && $(am__mv) $@-t $@ | ||||||
|  |  | ||||||
|  | am--depfiles: $(am__depfiles_remade) | ||||||
|  |  | ||||||
|  | .c.o: | ||||||
|  | @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | ||||||
|  | @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | ||||||
|  | @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | ||||||
|  | @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||||||
|  | @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< | ||||||
|  |  | ||||||
|  | .c.obj: | ||||||
|  | @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` | ||||||
|  | @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | ||||||
|  | @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | ||||||
|  | @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||||||
|  | @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` | ||||||
|  | install-includeHEADERS: $(include_HEADERS) | ||||||
|  | 	@$(NORMAL_INSTALL) | ||||||
|  | 	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ | ||||||
|  | 	if test -n "$$list"; then \ | ||||||
|  | 	  echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ | ||||||
|  | 	  $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	for p in $$list; do \ | ||||||
|  | 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ | ||||||
|  | 	  echo "$$d$$p"; \ | ||||||
|  | 	done | $(am__base_list) | \ | ||||||
|  | 	while read files; do \ | ||||||
|  | 	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ | ||||||
|  | 	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ | ||||||
|  | 	done | ||||||
|  |  | ||||||
|  | uninstall-includeHEADERS: | ||||||
|  | 	@$(NORMAL_UNINSTALL) | ||||||
|  | 	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ | ||||||
|  | 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ | ||||||
|  | 	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) | ||||||
|  |  | ||||||
|  | ID: $(am__tagged_files) | ||||||
|  | 	$(am__define_uniq_tagged_files); mkid -fID $$unique | ||||||
|  | tags: tags-am | ||||||
|  | TAGS: tags | ||||||
|  |  | ||||||
|  | tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | ||||||
|  | 	set x; \ | ||||||
|  | 	here=`pwd`; \ | ||||||
|  | 	$(am__define_uniq_tagged_files); \ | ||||||
|  | 	shift; \ | ||||||
|  | 	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ | ||||||
|  | 	  test -n "$$unique" || unique=$$empty_fix; \ | ||||||
|  | 	  if test $$# -gt 0; then \ | ||||||
|  | 	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||||||
|  | 	      "$$@" $$unique; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||||||
|  | 	      $$unique; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	fi | ||||||
|  | ctags: ctags-am | ||||||
|  |  | ||||||
|  | CTAGS: ctags | ||||||
|  | ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) | ||||||
|  | 	$(am__define_uniq_tagged_files); \ | ||||||
|  | 	test -z "$(CTAGS_ARGS)$$unique" \ | ||||||
|  | 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ | ||||||
|  | 	     $$unique | ||||||
|  |  | ||||||
|  | GTAGS: | ||||||
|  | 	here=`$(am__cd) $(top_builddir) && pwd` \ | ||||||
|  | 	  && $(am__cd) $(top_srcdir) \ | ||||||
|  | 	  && gtags -i $(GTAGS_ARGS) "$$here" | ||||||
|  | cscopelist: cscopelist-am | ||||||
|  |  | ||||||
|  | cscopelist-am: $(am__tagged_files) | ||||||
|  | 	list='$(am__tagged_files)'; \ | ||||||
|  | 	case "$(srcdir)" in \ | ||||||
|  | 	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ | ||||||
|  | 	  *) sdir=$(subdir)/$(srcdir) ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for i in $$list; do \ | ||||||
|  | 	  if test -f "$$i"; then \ | ||||||
|  | 	    echo "$(subdir)/$$i"; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    echo "$$sdir/$$i"; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done >> $(top_builddir)/cscope.files | ||||||
|  |  | ||||||
|  | distclean-tags: | ||||||
|  | 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags | ||||||
|  |  | ||||||
|  | # Recover from deleted '.trs' file; this should ensure that | ||||||
|  | # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create | ||||||
|  | # both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells | ||||||
|  | # to avoid problems with "make -n". | ||||||
|  | .log.trs: | ||||||
|  | 	rm -f $< $@ | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $< | ||||||
|  |  | ||||||
|  | # Leading 'am--fnord' is there to ensure the list of targets does not | ||||||
|  | # expand to empty, as could happen e.g. with make check TESTS=''. | ||||||
|  | am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) | ||||||
|  | am--force-recheck: | ||||||
|  | 	@: | ||||||
|  |  | ||||||
|  | $(TEST_SUITE_LOG): $(TEST_LOGS) | ||||||
|  | 	@$(am__set_TESTS_bases); \ | ||||||
|  | 	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ | ||||||
|  | 	redo_bases=`for i in $$bases; do \ | ||||||
|  | 	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ | ||||||
|  | 	            done`; \ | ||||||
|  | 	if test -n "$$redo_bases"; then \ | ||||||
|  | 	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ | ||||||
|  | 	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ | ||||||
|  | 	  if $(am__make_dryrun); then :; else \ | ||||||
|  | 	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	if test -n "$$am__remaking_logs"; then \ | ||||||
|  | 	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ | ||||||
|  | 	       "recursion detected" >&2; \ | ||||||
|  | 	elif test -n "$$redo_logs"; then \ | ||||||
|  | 	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	if $(am__make_dryrun); then :; else \ | ||||||
|  | 	  st=0;  \ | ||||||
|  | 	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ | ||||||
|  | 	  for i in $$redo_bases; do \ | ||||||
|  | 	    test -f $$i.trs && test -r $$i.trs \ | ||||||
|  | 	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ | ||||||
|  | 	    test -f $$i.log && test -r $$i.log \ | ||||||
|  | 	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \ | ||||||
|  | 	  done; \ | ||||||
|  | 	  test $$st -eq 0 || exit 1; \ | ||||||
|  | 	fi | ||||||
|  | 	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ | ||||||
|  | 	ws='[ 	]'; \ | ||||||
|  | 	results=`for b in $$bases; do echo $$b.trs; done`; \ | ||||||
|  | 	test -n "$$results" || results=/dev/null; \ | ||||||
|  | 	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \ | ||||||
|  | 	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \ | ||||||
|  | 	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \ | ||||||
|  | 	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \ | ||||||
|  | 	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ | ||||||
|  | 	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ | ||||||
|  | 	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ | ||||||
|  | 	if test `expr $$fail + $$xpass + $$error` -eq 0; then \ | ||||||
|  | 	  success=true; \ | ||||||
|  | 	else \ | ||||||
|  | 	  success=false; \ | ||||||
|  | 	fi; \ | ||||||
|  | 	br='==================='; br=$$br$$br$$br$$br; \ | ||||||
|  | 	result_count () \ | ||||||
|  | 	{ \ | ||||||
|  | 	    if test x"$$1" = x"--maybe-color"; then \ | ||||||
|  | 	      maybe_colorize=yes; \ | ||||||
|  | 	    elif test x"$$1" = x"--no-color"; then \ | ||||||
|  | 	      maybe_colorize=no; \ | ||||||
|  | 	    else \ | ||||||
|  | 	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    shift; \ | ||||||
|  | 	    desc=$$1 count=$$2; \ | ||||||
|  | 	    if test $$maybe_colorize = yes && test $$count -gt 0; then \ | ||||||
|  | 	      color_start=$$3 color_end=$$std; \ | ||||||
|  | 	    else \ | ||||||
|  | 	      color_start= color_end=; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    echo "$${color_start}# $$desc $$count$${color_end}"; \ | ||||||
|  | 	}; \ | ||||||
|  | 	create_testsuite_report () \ | ||||||
|  | 	{ \ | ||||||
|  | 	  result_count $$1 "TOTAL:" $$all   "$$brg"; \ | ||||||
|  | 	  result_count $$1 "PASS: " $$pass  "$$grn"; \ | ||||||
|  | 	  result_count $$1 "SKIP: " $$skip  "$$blu"; \ | ||||||
|  | 	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ | ||||||
|  | 	  result_count $$1 "FAIL: " $$fail  "$$red"; \ | ||||||
|  | 	  result_count $$1 "XPASS:" $$xpass "$$red"; \ | ||||||
|  | 	  result_count $$1 "ERROR:" $$error "$$mgn"; \ | ||||||
|  | 	}; \ | ||||||
|  | 	{								\ | ||||||
|  | 	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\ | ||||||
|  | 	    $(am__rst_title);						\ | ||||||
|  | 	  create_testsuite_report --no-color;				\ | ||||||
|  | 	  echo;								\ | ||||||
|  | 	  echo ".. contents:: :depth: 2";				\ | ||||||
|  | 	  echo;								\ | ||||||
|  | 	  for b in $$bases; do echo $$b; done				\ | ||||||
|  | 	    | $(am__create_global_log);					\ | ||||||
|  | 	} >$(TEST_SUITE_LOG).tmp || exit 1;				\ | ||||||
|  | 	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\ | ||||||
|  | 	if $$success; then						\ | ||||||
|  | 	  col="$$grn";							\ | ||||||
|  | 	 else								\ | ||||||
|  | 	  col="$$red";							\ | ||||||
|  | 	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\ | ||||||
|  | 	fi;								\ | ||||||
|  | 	echo "$${col}$$br$${std}"; 					\ | ||||||
|  | 	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\ | ||||||
|  | 	echo "$${col}$$br$${std}"; 					\ | ||||||
|  | 	create_testsuite_report --maybe-color;				\ | ||||||
|  | 	echo "$$col$$br$$std";						\ | ||||||
|  | 	if $$success; then :; else					\ | ||||||
|  | 	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\ | ||||||
|  | 	  if test -n "$(PACKAGE_BUGREPORT)"; then			\ | ||||||
|  | 	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\ | ||||||
|  | 	  fi;								\ | ||||||
|  | 	  echo "$$col$$br$$std";					\ | ||||||
|  | 	fi;								\ | ||||||
|  | 	$$success || exit 1 | ||||||
|  |  | ||||||
|  | check-TESTS: $(check_PROGRAMS) | ||||||
|  | 	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list | ||||||
|  | 	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list | ||||||
|  | 	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) | ||||||
|  | 	@set +e; $(am__set_TESTS_bases); \ | ||||||
|  | 	log_list=`for i in $$bases; do echo $$i.log; done`; \ | ||||||
|  | 	trs_list=`for i in $$bases; do echo $$i.trs; done`; \ | ||||||
|  | 	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ | ||||||
|  | 	exit $$?; | ||||||
|  | recheck: all $(check_PROGRAMS) | ||||||
|  | 	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) | ||||||
|  | 	@set +e; $(am__set_TESTS_bases); \ | ||||||
|  | 	bases=`for i in $$bases; do echo $$i; done \ | ||||||
|  | 	         | $(am__list_recheck_tests)` || exit 1; \ | ||||||
|  | 	log_list=`for i in $$bases; do echo $$i.log; done`; \ | ||||||
|  | 	log_list=`echo $$log_list`; \ | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ | ||||||
|  | 	        am__force_recheck=am--force-recheck \ | ||||||
|  | 	        TEST_LOGS="$$log_list"; \ | ||||||
|  | 	exit $$? | ||||||
|  | test.log: test$(EXEEXT) | ||||||
|  | 	@p='test$(EXEEXT)'; \ | ||||||
|  | 	b='test'; \ | ||||||
|  | 	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ | ||||||
|  | 	--log-file $$b.log --trs-file $$b.trs \ | ||||||
|  | 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ | ||||||
|  | 	"$$tst" $(AM_TESTS_FD_REDIRECT) | ||||||
|  | .test.log: | ||||||
|  | 	@p='$<'; \ | ||||||
|  | 	$(am__set_b); \ | ||||||
|  | 	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ | ||||||
|  | 	--log-file $$b.log --trs-file $$b.trs \ | ||||||
|  | 	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ | ||||||
|  | 	"$$tst" $(AM_TESTS_FD_REDIRECT) | ||||||
|  | @am__EXEEXT_TRUE@.test$(EXEEXT).log: | ||||||
|  | @am__EXEEXT_TRUE@	@p='$<'; \ | ||||||
|  | @am__EXEEXT_TRUE@	$(am__set_b); \ | ||||||
|  | @am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ | ||||||
|  | @am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \ | ||||||
|  | @am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ | ||||||
|  | @am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT) | ||||||
|  |  | ||||||
|  | distdir: $(BUILT_SOURCES) | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) distdir-am | ||||||
|  |  | ||||||
|  | distdir-am: $(DISTFILES) | ||||||
|  | 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||||||
|  | 	list='$(DISTFILES)'; \ | ||||||
|  | 	  dist_files=`for file in $$list; do echo $$file; done | \ | ||||||
|  | 	  sed -e "s|^$$srcdirstrip/||;t" \ | ||||||
|  | 	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ | ||||||
|  | 	case $$dist_files in \ | ||||||
|  | 	  */*) $(MKDIR_P) `echo "$$dist_files" | \ | ||||||
|  | 			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ | ||||||
|  | 			   sort -u` ;; \ | ||||||
|  | 	esac; \ | ||||||
|  | 	for file in $$dist_files; do \ | ||||||
|  | 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ | ||||||
|  | 	  if test -d $$d/$$file; then \ | ||||||
|  | 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ | ||||||
|  | 	    if test -d "$(distdir)/$$file"; then \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ | ||||||
|  | 	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||||||
|  | 	    fi; \ | ||||||
|  | 	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ | ||||||
|  | 	  else \ | ||||||
|  | 	    test -f "$(distdir)/$$file" \ | ||||||
|  | 	    || cp -p $$d/$$file "$(distdir)/$$file" \ | ||||||
|  | 	    || exit 1; \ | ||||||
|  | 	  fi; \ | ||||||
|  | 	done | ||||||
|  | check-am: all-am | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) | ||||||
|  | 	$(MAKE) $(AM_MAKEFLAGS) check-TESTS | ||||||
|  | check: check-am | ||||||
|  | all-am: Makefile $(LIBRARIES) $(HEADERS) | ||||||
|  | installdirs: | ||||||
|  | 	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \ | ||||||
|  | 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \ | ||||||
|  | 	done | ||||||
|  | install: install-am | ||||||
|  | install-exec: install-exec-am | ||||||
|  | install-data: install-data-am | ||||||
|  | uninstall: uninstall-am | ||||||
|  |  | ||||||
|  | install-am: all-am | ||||||
|  | 	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||||||
|  |  | ||||||
|  | installcheck: installcheck-am | ||||||
|  | install-strip: | ||||||
|  | 	if test -z '$(STRIP)'; then \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	      install; \ | ||||||
|  | 	else \ | ||||||
|  | 	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||||||
|  | 	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||||||
|  | 	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ | ||||||
|  | 	fi | ||||||
|  | mostlyclean-generic: | ||||||
|  | 	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) | ||||||
|  | 	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) | ||||||
|  | 	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) | ||||||
|  |  | ||||||
|  | clean-generic: | ||||||
|  | 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) | ||||||
|  |  | ||||||
|  | distclean-generic: | ||||||
|  | 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | ||||||
|  | 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) | ||||||
|  |  | ||||||
|  | maintainer-clean-generic: | ||||||
|  | 	@echo "This command is intended for maintainers to use" | ||||||
|  | 	@echo "it deletes files that may require special tools to rebuild." | ||||||
|  | clean: clean-am | ||||||
|  |  | ||||||
|  | clean-am: clean-checkPROGRAMS clean-generic clean-libLIBRARIES \ | ||||||
|  | 	mostlyclean-am | ||||||
|  |  | ||||||
|  | distclean: distclean-am | ||||||
|  | 		-rm -f ./$(DEPDIR)/bcm2835.Po | ||||||
|  | 	-rm -f ./$(DEPDIR)/test.Po | ||||||
|  | 	-rm -f Makefile | ||||||
|  | distclean-am: clean-am distclean-compile distclean-generic \ | ||||||
|  | 	distclean-tags | ||||||
|  |  | ||||||
|  | dvi: dvi-am | ||||||
|  |  | ||||||
|  | dvi-am: | ||||||
|  |  | ||||||
|  | html: html-am | ||||||
|  |  | ||||||
|  | html-am: | ||||||
|  |  | ||||||
|  | info: info-am | ||||||
|  |  | ||||||
|  | info-am: | ||||||
|  |  | ||||||
|  | install-data-am: install-includeHEADERS | ||||||
|  |  | ||||||
|  | install-dvi: install-dvi-am | ||||||
|  |  | ||||||
|  | install-dvi-am: | ||||||
|  |  | ||||||
|  | install-exec-am: install-libLIBRARIES | ||||||
|  |  | ||||||
|  | install-html: install-html-am | ||||||
|  |  | ||||||
|  | install-html-am: | ||||||
|  |  | ||||||
|  | install-info: install-info-am | ||||||
|  |  | ||||||
|  | install-info-am: | ||||||
|  |  | ||||||
|  | install-man: | ||||||
|  |  | ||||||
|  | install-pdf: install-pdf-am | ||||||
|  |  | ||||||
|  | install-pdf-am: | ||||||
|  |  | ||||||
|  | install-ps: install-ps-am | ||||||
|  |  | ||||||
|  | install-ps-am: | ||||||
|  |  | ||||||
|  | installcheck-am: | ||||||
|  |  | ||||||
|  | maintainer-clean: maintainer-clean-am | ||||||
|  | 		-rm -f ./$(DEPDIR)/bcm2835.Po | ||||||
|  | 	-rm -f ./$(DEPDIR)/test.Po | ||||||
|  | 	-rm -f Makefile | ||||||
|  | maintainer-clean-am: distclean-am maintainer-clean-generic | ||||||
|  |  | ||||||
|  | mostlyclean: mostlyclean-am | ||||||
|  |  | ||||||
|  | mostlyclean-am: mostlyclean-compile mostlyclean-generic | ||||||
|  |  | ||||||
|  | pdf: pdf-am | ||||||
|  |  | ||||||
|  | pdf-am: | ||||||
|  |  | ||||||
|  | ps: ps-am | ||||||
|  |  | ||||||
|  | ps-am: | ||||||
|  |  | ||||||
|  | uninstall-am: uninstall-includeHEADERS uninstall-libLIBRARIES | ||||||
|  |  | ||||||
|  | .MAKE: check-am install-am install-strip | ||||||
|  |  | ||||||
|  | .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ | ||||||
|  | 	check-am clean clean-checkPROGRAMS clean-generic \ | ||||||
|  | 	clean-libLIBRARIES cscopelist-am ctags ctags-am distclean \ | ||||||
|  | 	distclean-compile distclean-generic distclean-tags distdir dvi \ | ||||||
|  | 	dvi-am html html-am info info-am install install-am \ | ||||||
|  | 	install-data install-data-am install-dvi install-dvi-am \ | ||||||
|  | 	install-exec install-exec-am install-html install-html-am \ | ||||||
|  | 	install-includeHEADERS install-info install-info-am \ | ||||||
|  | 	install-libLIBRARIES install-man install-pdf install-pdf-am \ | ||||||
|  | 	install-ps install-ps-am install-strip installcheck \ | ||||||
|  | 	installcheck-am installdirs maintainer-clean \ | ||||||
|  | 	maintainer-clean-generic mostlyclean mostlyclean-compile \ | ||||||
|  | 	mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \ | ||||||
|  | 	uninstall uninstall-am uninstall-includeHEADERS \ | ||||||
|  | 	uninstall-libLIBRARIES | ||||||
|  |  | ||||||
|  | .PRECIOUS: Makefile | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # Tell versions [3.59,3.63) of GNU make to not export all variables. | ||||||
|  | # Otherwise a system limit (for SysV at least) may be exceeded. | ||||||
|  | .NOEXPORT: | ||||||
							
								
								
									
										1853
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/bcm2835.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1853
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/bcm2835.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1917
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/bcm2835.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1917
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/bcm2835.h
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/test
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/test
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | ====================================== | ||||||
|  |    bcm2835 1.58: src/test-suite.log | ||||||
|  | ====================================== | ||||||
|  |  | ||||||
|  | # TOTAL: 1 | ||||||
|  | # PASS:  0 | ||||||
|  | # SKIP:  0 | ||||||
|  | # XFAIL: 0 | ||||||
|  | # FAIL:  1 | ||||||
|  | # XPASS: 0 | ||||||
|  | # ERROR: 0 | ||||||
|  |  | ||||||
|  | .. contents:: :depth: 2 | ||||||
|  |  | ||||||
|  | FAIL: test | ||||||
|  | ========== | ||||||
|  |  | ||||||
|  | bcm2835_init: gpio mmap failed: Cannot allocate memory | ||||||
|  | FAIL test (exit status: 1) | ||||||
|  |  | ||||||
| @@ -0,0 +1,31 @@ | |||||||
|  | // Test program for bcm2835 library | ||||||
|  | // You can only expect this to run correctly | ||||||
|  | // as root on Raspberry Pi hardware, but it will compile and run with little effect | ||||||
|  | // on other hardware | ||||||
|  | // | ||||||
|  | // Author: Mike McCauley | ||||||
|  | // Copyright (C) 2011-2013 Mike McCauley | ||||||
|  | // $Id: test.c,v 1.6 2018/01/16 21:55:07 mikem Exp $ | ||||||
|  |  | ||||||
|  | #include <bcm2835.h> | ||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <unistd.h> | ||||||
|  | #include <sys/types.h> | ||||||
|  |  | ||||||
|  | int main(int argc, char **argv) | ||||||
|  | { | ||||||
|  |     if (geteuid() == 0 && !getenv("FAKEROOTKEY")) | ||||||
|  |     { | ||||||
|  | 	if (!bcm2835_init()) | ||||||
|  | 	    return 1; | ||||||
|  | 	if (!bcm2835_close()) | ||||||
|  | 	    return 1; | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  | 	fprintf(stderr, "****You need to be root to properly run this test program\n"); | ||||||
|  | 	return 1; | ||||||
|  |     } | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
| @@ -0,0 +1,2 @@ | |||||||
|  | bcm2835_init: gpio mmap failed: Cannot allocate memory | ||||||
|  | FAIL test (exit status: 1) | ||||||
							
								
								
									
										
											BIN
										
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/test.o
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/src/test.o
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | :test-result: FAIL | ||||||
|  | :global-test-result: FAIL | ||||||
|  | :recheck: yes | ||||||
|  | :copy-in-global-log: yes | ||||||
| @@ -0,0 +1 @@ | |||||||
|  | timestamp for config.h | ||||||
							
								
								
									
										148
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/test-driver
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								inkycal/display/drivers/9_in_7_drivers/bcm2835-1.58/test-driver
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,148 @@ | |||||||
|  | #! /bin/sh | ||||||
|  | # test-driver - basic testsuite driver script. | ||||||
|  |  | ||||||
|  | scriptversion=2018-03-07.03; # UTC | ||||||
|  |  | ||||||
|  | # Copyright (C) 2011-2018 Free Software Foundation, Inc. | ||||||
|  | # | ||||||
|  | # This program is free software; you can redistribute it and/or modify | ||||||
|  | # it under the terms of the GNU General Public License as published by | ||||||
|  | # the Free Software Foundation; either version 2, or (at your option) | ||||||
|  | # any later version. | ||||||
|  | # | ||||||
|  | # This program is distributed in the hope that it will be useful, | ||||||
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | # GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | # You should have received a copy of the GNU General Public License | ||||||
|  | # along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
|  | # As a special exception to the GNU General Public License, if you | ||||||
|  | # distribute this file as part of a program that contains a | ||||||
|  | # configuration script generated by Autoconf, you may include it under | ||||||
|  | # the same distribution terms that you use for the rest of that program. | ||||||
|  |  | ||||||
|  | # This file is maintained in Automake, please report | ||||||
|  | # bugs to <bug-automake@gnu.org> or send patches to | ||||||
|  | # <automake-patches@gnu.org>. | ||||||
|  |  | ||||||
|  | # Make unconditional expansion of undefined variables an error.  This | ||||||
|  | # helps a lot in preventing typo-related bugs. | ||||||
|  | set -u | ||||||
|  |  | ||||||
|  | usage_error () | ||||||
|  | { | ||||||
|  |   echo "$0: $*" >&2 | ||||||
|  |   print_usage >&2 | ||||||
|  |   exit 2 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | print_usage () | ||||||
|  | { | ||||||
|  |   cat <<END | ||||||
|  | Usage: | ||||||
|  |   test-driver --test-name=NAME --log-file=PATH --trs-file=PATH | ||||||
|  |               [--expect-failure={yes|no}] [--color-tests={yes|no}] | ||||||
|  |               [--enable-hard-errors={yes|no}] [--] | ||||||
|  |               TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] | ||||||
|  | The '--test-name', '--log-file' and '--trs-file' options are mandatory. | ||||||
|  | END | ||||||
|  | } | ||||||
|  |  | ||||||
|  | test_name= # Used for reporting. | ||||||
|  | log_file=  # Where to save the output of the test script. | ||||||
|  | trs_file=  # Where to save the metadata of the test run. | ||||||
|  | expect_failure=no | ||||||
|  | color_tests=no | ||||||
|  | enable_hard_errors=yes | ||||||
|  | while test $# -gt 0; do | ||||||
|  |   case $1 in | ||||||
|  |   --help) print_usage; exit $?;; | ||||||
|  |   --version) echo "test-driver $scriptversion"; exit $?;; | ||||||
|  |   --test-name) test_name=$2; shift;; | ||||||
|  |   --log-file) log_file=$2; shift;; | ||||||
|  |   --trs-file) trs_file=$2; shift;; | ||||||
|  |   --color-tests) color_tests=$2; shift;; | ||||||
|  |   --expect-failure) expect_failure=$2; shift;; | ||||||
|  |   --enable-hard-errors) enable_hard_errors=$2; shift;; | ||||||
|  |   --) shift; break;; | ||||||
|  |   -*) usage_error "invalid option: '$1'";; | ||||||
|  |    *) break;; | ||||||
|  |   esac | ||||||
|  |   shift | ||||||
|  | done | ||||||
|  |  | ||||||
|  | missing_opts= | ||||||
|  | test x"$test_name" = x && missing_opts="$missing_opts --test-name" | ||||||
|  | test x"$log_file"  = x && missing_opts="$missing_opts --log-file" | ||||||
|  | test x"$trs_file"  = x && missing_opts="$missing_opts --trs-file" | ||||||
|  | if test x"$missing_opts" != x; then | ||||||
|  |   usage_error "the following mandatory options are missing:$missing_opts" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if test $# -eq 0; then | ||||||
|  |   usage_error "missing argument" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if test $color_tests = yes; then | ||||||
|  |   # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. | ||||||
|  |   red='[0;31m' # Red. | ||||||
|  |   grn='[0;32m' # Green. | ||||||
|  |   lgn='[1;32m' # Light green. | ||||||
|  |   blu='[1;34m' # Blue. | ||||||
|  |   mgn='[0;35m' # Magenta. | ||||||
|  |   std='[m'     # No color. | ||||||
|  | else | ||||||
|  |   red= grn= lgn= blu= mgn= std= | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | do_exit='rm -f $log_file $trs_file; (exit $st); exit $st' | ||||||
|  | trap "st=129; $do_exit" 1 | ||||||
|  | trap "st=130; $do_exit" 2 | ||||||
|  | trap "st=141; $do_exit" 13 | ||||||
|  | trap "st=143; $do_exit" 15 | ||||||
|  |  | ||||||
|  | # Test script is run here. | ||||||
|  | "$@" >$log_file 2>&1 | ||||||
|  | estatus=$? | ||||||
|  |  | ||||||
|  | if test $enable_hard_errors = no && test $estatus -eq 99; then | ||||||
|  |   tweaked_estatus=1 | ||||||
|  | else | ||||||
|  |   tweaked_estatus=$estatus | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | case $tweaked_estatus:$expect_failure in | ||||||
|  |   0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; | ||||||
|  |   0:*)   col=$grn res=PASS  recheck=no  gcopy=no;; | ||||||
|  |   77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;; | ||||||
|  |   99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;; | ||||||
|  |   *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;; | ||||||
|  |   *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;; | ||||||
|  | esac | ||||||
|  |  | ||||||
|  | # Report the test outcome and exit status in the logs, so that one can | ||||||
|  | # know whether the test passed or failed simply by looking at the '.log' | ||||||
|  | # file, without the need of also peaking into the corresponding '.trs' | ||||||
|  | # file (automake bug#11814). | ||||||
|  | echo "$res $test_name (exit status: $estatus)" >>$log_file | ||||||
|  |  | ||||||
|  | # Report outcome to console. | ||||||
|  | echo "${col}${res}${std}: $test_name" | ||||||
|  |  | ||||||
|  | # Register the test result, and other relevant metadata. | ||||||
|  | echo ":test-result: $res" > $trs_file | ||||||
|  | echo ":global-test-result: $res" >> $trs_file | ||||||
|  | echo ":recheck: $recheck" >> $trs_file | ||||||
|  | echo ":copy-in-global-log: $gcopy" >> $trs_file | ||||||
|  |  | ||||||
|  | # Local Variables: | ||||||
|  | # mode: shell-script | ||||||
|  | # sh-indentation: 2 | ||||||
|  | # eval: (add-hook 'before-save-hook 'time-stamp) | ||||||
|  | # time-stamp-start: "scriptversion=" | ||||||
|  | # time-stamp-format: "%:y-%02m-%02d.%02H" | ||||||
|  | # time-stamp-time-zone: "UTC0" | ||||||
|  | # time-stamp-end: "; # UTC" | ||||||
|  | # End: | ||||||
							
								
								
									
										1
									
								
								inkycal/display/drivers/9_in_7_drivers/setup_state.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								inkycal/display/drivers/9_in_7_drivers/setup_state.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | 1 | ||||||
		Reference in New Issue
	
	Block a user