1 CHARM_BASE_DIR
= ..
/..
/..
/..
2 CHARM_BIN_DIR
= $(CHARM_BASE_DIR
)/bin
3 CHARM_INC_DIR
= $(CHARM_BASE_DIR
)/include
4 CHARM_LIB_DIR
= $(CHARM_BASE_DIR
)/lib
5 CHARMC
= $(CHARM_BIN_DIR
)/charmc
$(OPTS
)
10 all: $(PGM
) $(PGM
)_proj
12 OBJS
= main.o patch.o selfCompute.o pairCompute.o
14 ACCEL_LIBS
= $(SPE_LIBS
)
17 ################################################################################
20 # Standard Build (no projections)
22 $(CHARMC
) -language charm
++ -o
$(PGM
) $(OBJS
) $(ACCEL_LIBS
)
26 $(CHARMC
) -language charm
++ -o
$(PGM
)_proj
$(OBJS
) $(ACCEL_LIBS
) -tracemode summary
-tracemode projections
29 ################################################################################
30 ## Debug: SPE Timing (Cell specific)
32 speCode.s.timing
: $(PGM
)
33 spu-gcc
$(OPTS
) -I
$(CHARM_INC_DIR
) -S
-c main__funcLookup__.genSPECode.c
-o speCode.s
-DCMK_CELL_SPE
=1
34 /opt
/cell
/sdk
/usr
/bin
/spu_timing speCode.s
37 ################################################################################
42 main.decl.h main.def.h
: main.ci
45 main.o
: main.h main.C main.decl.h patch.decl.h selfCompute.decl.h pairCompute.decl.h main.def.h
50 patch.decl.h patch.def.h
: patch.ci
53 patch.o
: patch.h main.h patch.C patch.decl.h main.decl.h pairCompute.decl.h patch.def.h
58 selfCompute.decl.h selfCompute.def.h
: selfCompute.ci
59 $(CHARMC
) selfCompute.ci
61 selfCompute.o
: selfCompute.h main.h selfCompute.C selfCompute.decl.h patch.decl.h selfCompute.def.h
62 $(CHARMC
) -c selfCompute.C
66 pairCompute.decl.h pairCompute.def.h
: pairCompute.ci
67 $(CHARMC
) pairCompute.ci
69 pairCompute.o
: pairCompute.h main.h pairCompute.C pairCompute.decl.h patch.decl.h pairCompute.def.h
70 $(CHARMC
) -c pairCompute.C
73 ################################################################################
74 ## Binary File, Object Files, etc. Cleanup
77 rm -f
*.decl.h
*.def.h conv-host
*.o
$(PGM
) charmrun
*genSPECode
* speCode.s speCode.s.timing