# makefile for client simulator
# Do "make_clean" in client/, lib/, and sched/ first
#
# this doesn't have .h dependencies; if you change something,
# do make clean and make

CXXFLAGS = -g -DSIM -Wall \
    -I ../lib \
    -I ..

OBJS = \
	acct_mgr.o \
	acct_setup.o \
    app.o \
    app_config.o \
    client_msgs.o \
    client_state.o \
    client_types.o \
	coproc_sched.o \
    cpu_sched.o \
	cs_account.o \
    cs_apps.o \
	cs_files.o \
	cs_notice.o \
    cs_platforms.o \
    cs_prefs.o \
    cs_proxy.o \
    cs_scheduler.o \
    cs_sporadic.o \
    cs_statefile.o \
    cs_trickle.o \
	current_version.o \
	file_names.o \
	file_xfer.o \
	gpu_amd.o \
	gpu_detect.o \
	gpu_intel.o \
	gpu_nvidia.o \
	gpu_opencl.o \
	gui_http.o \
	http_curl.o \
    log_flags.o \
	net_stats.o \
	pers_file_xfer.o \
	project.o \
	project_list.o \
	result.o \
    rr_sim.o \
	sandbox.o \
	scheduler_op.o \
    sim.o \
    sim_util.o \
    time_stats.o \
    work_fetch.o \
    ../sched/edf_sim.o \
    ../lib/cc_config.o \
    ../lib/cert_sig.o \
    ../lib/coproc.o \
    ../lib/crypt.o \
    ../lib/filesys.o \
    ../lib/hostinfo.o \
    ../lib/keyword.o \
    ../lib/md5.o \
    ../lib/md5_file.o \
    ../lib/mfile.o \
    ../lib/miofile.o \
    ../lib/msg_log.o \
    ../lib/network.o \
    ../lib/notice.o \
    ../lib/opencl_boinc.o \
    ../lib/parse.o \
    ../lib/prefs.o \
    ../lib/project_init.o \
    ../lib/proxy_info.o \
    ../lib/shmem.o \
    ../lib/str_util.o \
    ../lib/url.o \
    ../lib/util.o

all: sim

sim: $(OBJS) sim.h
	$(CXX) $(CXXFLAGS) $(OBJS) -o sim -ldl -lcurl -lz -lssl -lcrypto
