private void setConfigFile(String conf) throws FileNotFoundException,
			IOException {
		this.configFile = conf;
		File f = new File(configFile);
		if (!f.exists()) {
			return;
		}
		try {
			BufferedReader reader = new BufferedReader(new FileReader(f));
			StringBuilder stringBuilder = new StringBuilder();
			String line;
			while ((line = reader.readLine()) != null) {
				stringBuilder.append(line);
			}
			reader.close();
			this.conf = new JSONObject(stringBuilder.toString());
			String build_root = this.conf.optString(Semantics.DEP_BUILD_ROOT);
			if (build_root != null && !build_root.equals("")) {
				this.buildFile(build_root);
			}
			String def_file = this.conf.optString(Semantics.GLOBAL_DEFINE);
			if (def_file != null && !def_file.equals("")) {
				this.def_hdr(def_file);
			}
		} catch (JSONException e) {
			System.err.println("File " + configFile + " can't be parsed!");
			this.conf = null;
			this.configFile = null;
		} catch (IOException e) {
			e.printStackTrace();
		}
	}