# # Small makefile for testing with non-Microsoft compilers # # gcc: g++, cygwin: g++, pathscale: pathcc, pgi: pgCC CXX = g++ ## CygWin CXXFLAGS += -Wall LDFLAGS += ## Linux # CXXFLAGS += -std=c++98 # LDFLAGS += -lrt MAINOBJS = base.o mine.o testBase.o all: CXXFLAGS += -g -ggdb all: testBase #opt: CXXFLAGS += -march=opteron -mfpmath=sse,387 -mmmx -msse -msse2 -msse3 -3dnow -m64 \ # -O9 -fomit-frame-pointer -fprefetch-loop-arrays -fschedule-insns2 -ftree-loop-linear \ # -ftree-loop-im -ftree-loop-ivcanon -fivopts -ftree-vectorize opt: CXXFLAGS += -march=i686 -msse -mfpmath=sse,387 -fomit-frame-pointer -fschedule-insns2 \ -ftree-loop-linear -ftree-loop-im -ftree-loop-ivcanon -fivopts -ftree-vectorize opt: testBase paranoid: CXXFLAGS += -Wextra -Wfloat-equal -Wundef -Wunsafe-loop-optimizations \ -Wredundant-decls -Wpointer-arith -Winline -Wcast-qual \ -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare \ -Wmissing-field-initializers -Wmissing-format-attribute -Wnormalized=nfc \ -Winline -Wlong-long \ -DFLTWARN # -Wshadow # -Wunreachable-code # -Wpadded paranoid: testBase testBase: $(MAINOBJS) $(CXX) -o testBase $(MAINOBJS) $(LDFLAGS) %.o: %.cpp $(CXX) -c $(CXXFLAGS) $< clean: rm -f *.o *.gch testBase testBase.exe