all:
	gcc -Wall -std=c99 type_sizes.c -o type_sizes
	gcc -Wall -std=c99 type_limits.c -o type_limits
	gcc -Wall -std=c99 -lm float_precision.c -o float_precision
	gcc -Wall -std=c99 test_write_to_str.c -o test_write_to_str
	gcc -Wall -std=c99 array_boundaries1.c -o array_boundaries1
	gcc -Wall -std=c99 array_boundaries2.c -o array_boundaries2
	gcc -Wall -std=c99 ascii_table.c -o ascii_table
	gcc -Wall -std=c99 string_gotchas.c -o string_gotchas
	gcc -Wall -std=c99 func_params.c -o func_params
	gcc -Wall -std=c99 struct_static.c -o struct_static
	gcc -Wall -std=c99 struct_func_param.c -o struct_func_param
	gcc -Wall -std=c99 dyn_alloc.c -o dyn_alloc
	gcc -Wall -std=c99 pointer_arith.c -o pointer_arith
	gcc -Wall -std=c99 struct_alloc.c -o struct_alloc
	gcc -Wall -std=c99 crypto.c -o crypto


clean:
	rm -f type_sizes
	rm -f type_limits
	rm -f float_precision
	rm -f test_write_to_str
	rm -f string_gotchas
	rm -f ascii_table
	rm -f func_params
	rm -f struct_static
	rm -f dyn_alloc
	rm -f pointer_arith
	rm -f struct_alloc
	rm -f crypto
	rm -f array_boundaries1
	rm -f array_boundaries2
	rm -f struct_func_param
