Cleaned up src/global_operations/ (was src/print_tree/).
[parallel_computing.git] / src / global_operations / Makefile
1 # General Environment
2
3 RM            = /bin/rm
4
5 # Non-MPI Environment
6
7 CC            = /usr/bin/gcc
8 CFLAGS        =
9 LD            = $(CC)
10 LDFLAGS       =
11 EXECS         = print_tree
12
13 # MPI Environment
14
15 MPI_CC        = /usr/bin/mpicc
16 MPI_CFLAGS    =
17 MPI_LD        = $(MPI_CC)
18 MPI_LDFLAGS   =
19 MPI_EXECS     = broadcast global_mpi_operations
20
21 # Top level targets
22
23 all: $(EXECS) $(MPI_EXECS)
24
25 clean:
26         $(RM) -f *.o $(EXECS) $(MPI_EXECS)
27
28 # Non-MPI rules
29
30 $(EXECS:%=%.o) : %.o : %.c
31         $(CC) -c $(CFLAGS) -o $@ $^
32
33 $(EXECS) : % : %.o
34         $(LD) $(LDFLAGS) -o $@ $^
35
36 # MPI rules
37
38 $(MPI_EXECS:%=%.o) : %.o : %.c
39         $(MPI_CC) -c $(CFLAGS) -o $@ $^
40
41 $(MPI_EXECS) : % : %.o
42         $(MPI_LD) $(LDFLAGS) -o $@ $^
43
44 # Interesting Makefile sections
45 #   4.12.1 Syntax of Static Pattern Rules
46 #   6.3.1  Substitution References