| # ==== Variables ============================================================== | |
| # 64-bit compiles | |
| #Uncomment to use sparc/alpha cross-compilers | |
| CC := sparc64-unknown-linux-gnu-gcc | |
| CPP := sparc64-unknown-linux-gnu-g++ | |
| #CC := alpha-unknown-linux-gnu-gcc | |
| #CPP := alpha-unknown-linux-gnu-g++ | |
| #CC := gcc | |
| #CPP := g++ | |
| #CFLAGS := -ggdb3 -O3 -D__DEBUG | |
| CFLAGS := -g -O3 -DM5_PROFILING | |
| CPPFLAGS := $(CFLAGS) | |
| TEST_OBJS := test_stackgrow.o test_pthreadbasic.o test_pthread.o test_atomic.o test_barrier.o test_lock.o test_malloc.o test_sieve.o test___thread.o test_omp.o | |
| TEST_PROGS := $(TEST_OBJS:.o=) | |
| # ==== Rules ================================================================== | |
| .PHONY: default clean | |
| default: $(TEST_PROGS) | |
| clean: | |
| $(RM) $(TEST_OBJS) $(TEST_PROGS) $(TEST_OBJS:.o=_p) ../pthread.o | |
| $(TEST_PROGS): $(TEST_OBJS) ../pthread.o | |
| $(CPP) -static -o $@ $@.o ../pthread.o | |
| $(CPP) -static -o $@_p $@.o -lpthread | |
| %.o: %.cpp Makefile | |
| $(CPP) $(CPPFLAGS) -c -o $@ $*.cpp | |
| #Special rules for OpenMP programs | |
| test_omp: test_omp.o | |
| $(CPP) -static -o $@ $@.o -lgomp ../pthread.o -lgomp | |
| $(CPP) -static -o $@_p $@.o -lgomp -lpthread | |
| test_omp.o: test_omp.cpp ../pthread.o | |
| $(CPP) $(CPPFLAGS) -fopenmp -c -o $@ $*.cpp | |
| ../pthread.o: ../pthread.c ../pthread_defs.h ../tls_defs.h Makefile | |
| $(CC) $(CFLAGS) -c ../pthread.c -o ../pthread.o | |