| |
| |
| # ==== 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 |
| |
| 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 |
| |
| |