1EXE                 = psdmads.exe
2COMPILATOR = mpic++
3SUNAME = $(shell uname)
4OSS=$(findstring MINGW32,$(SUNAME))
5ifneq "$(strip $(OSS))" ""
6COMPILATOR = g++
7endif
8
9COMPILATOR_OPTIONS  = -ansi -O2
10L1                  = $(NOMAD_HOME)/lib/nomad.a
11LIBS                = $(L1) -lm -lmpi
12INCLUDE             = -I$(NOMAD_HOME)/src -I.
13COMPILE             = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
14OBJS                = main.o Cache_Server.o Master_Slaves.o
15
16ifndef NOMAD_HOME
17define ECHO_NOMAD
18	@echo Please set NOMAD_HOME environment variable!
19	@false
20endef
21endif
22
23$(EXE): $(OBJS) $(L1)
24	$(ECHO_NOMAD)
25	$(COMPILATOR) -o $(EXE) $(OBJS) $(LIBS) $(COMPILATOR_OPTIONS)
26
27main.o: main.cpp Master_Slaves.o
28	$(COMPILE) main.cpp
29
30Master_Slaves.o: Master_Slaves.cpp Master_Slaves.hpp Cache_Server.o
31	$(ECHO_NOMAD)
32	$(COMPILE) Master_Slaves.cpp
33
34Cache_Server.o: Cache_Server.cpp Cache_Server.hpp
35	$(ECHO_NOMAD)
36	$(COMPILE) Cache_Server.cpp
37
38$(L1): ;
39	$(ECHO_NOMAD)
40
41clean:
42	@echo "cleaning obj files"
43	@rm -f $(OBJS)
44
45del:
46	@echo "cleaning trash files"
47	@rm -f core *~
48	@echo "cleaning obj files"
49	@rm -f $(OBJS)
50	@echo "cleaning exe file"
51	@rm -f $(EXE)