ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/gclib/seqalign/Makefile
Revision: 74
Committed: Tue Sep 27 01:22:37 2011 UTC (12 years, 11 months ago) by gpertea
File size: 1620 byte(s)
Log Message:
added seqalign files

Line File contents
1 THISCODEDIR := .
2 GCLDIR := ../gclib
3 SEARCHDIRS := -I${THISCODEDIR} -I${GCLDIR}
4
5 SYSTYPE := $(shell uname)
6
7 MACHTYPE := $(shell uname -m)
8 ifeq ($(MACHTYPE), i686)
9 MARCH = -march=i686
10 else
11 MARCH =
12 endif
13
14 CC := g++
15
16 BASEFLAGS := -Wall -Wextra ${SEARCHDIRS} $(MARCH) -D_FILE_OFFSET_BITS=64 \
17 -D_LARGEFILE_SOURCE -D_REENTRANT -fno-strict-aliasing -fno-exceptions -fno-rtti
18
19 #add the link-time optimization flag if gcc version > 4.5
20 GCC_VERSION:=$(subst ., ,$(shell gcc -dumpversion))
21 GCC_MAJOR:=$(word 1,$(GCC_VERSION))
22 GCC_MINOR:=$(word 2,$(GCC_VERSION))
23 #GCC_SUB:=$(word 3,$(GCC_VERSION))
24 GCC_SUB:=x
25
26 GCC45OPTS :=
27 GCC45OPTMAIN :=
28
29 ifeq ($(findstring debug,$(MAKECMDGOALS)),)
30 CFLAGS := -O2 -DNDEBUG $(BASEFLAGS)
31 LDFLAGS :=
32 ifeq ($(shell expr $(GCC_MAJOR).$(GCC_MINOR) '>=' 4.5),1)
33 CFLAGS += -flto
34 GCC45OPTS := -flto
35 GCC45OPTMAIN := -fwhole-program
36 endif
37 else
38 CFLAGS := -g -DDEBUG $(BASEFLAGS)
39 LDFLAGS := -g
40 endif
41
42 %.o : %.cpp
43 ${CC} ${CFLAGS} -c $< -o $@
44
45 # C/C++ linker
46
47 LINKER := g++
48 LIBS :=
49 OBJS := ${GCLDIR}/GBase.o ${GCLDIR}/GArgs.o ${GCLDIR}/GStr.o \
50 GXAlign.o seqalign.o
51
52 .PHONY : all
53 all: seqalign
54
55 version: ; @echo "GCC Version is: "$(GCC_MAJOR)":"$(GCC_MINOR)":"$(GCC_SUB)
56 @echo "> GCC Opt. string is: "$(GCC45OPTS)
57 debug: seqalign
58 #$(OBJS) : $(GCLDIR)/GBase.h $(GCLDIR)/GXDropAlign.h
59 $(OBJS) : $(GCLDIR)/GBase.h GXAlign.h
60 seqalign: $(OBJS)
61 ${LINKER} ${LDFLAGS} $(GCC45OPTS) $(GCC45OPTMAIN) -o $@ ${filter-out %.a %.so, $^} ${LIBS}
62
63 # target for removing all object files
64
65 .PHONY : clean
66 clean::
67 @${RM} seqalign $(OBJS) seqalign.exe
68 @${RM} core.*