source: git/factory/libfac/Makefile.dist @ dccceb

spielwiese
Last change on this file since dccceb was dccceb, checked in by Oleksandr Motsak <motsak@…>, 12 years ago
moved libfac under factory/ CHG: moved libfac/ under factory/ Note: starting to merge libfac into factory (as a private library)
  • Property mode set to 100644
File size: 4.5 KB
Line 
1# $Id$
2#################################################
3factoryversion = 1.2b
4factorypath = ../factory/$(factoryversion)
5RM = /bin/rm -f
6MV = /bin/mv
7AR = ar cr
8RANLIB = ranlib
9LIBPREFX = libfac
10OPTMARK =
11LIBFAC = $(LIBPREFIX)$(OPTMARK).a
12LIBFAC-G = $(LIBPREFIX)-g$(OPTMARK).a
13SINGLIBFAC = libsingfac$(OPTMARK).a
14SINGLIBFAC-G = libsingfac-g$(OPTMARK).a 
15
16STRIP = strip
17# define the debugging flags here
18#
19FACDEFINES =
20CHARDEFINES =
21DEFINES = $(FACDEFINES) $(CHARDEFINES)
22WARN = -Wall
23ALLFLAGS = -fno-implicit-templates
24DEBFLAGS= -g $(DEFINES) $(ALLFLAGS)
25DEBFLAGSTMPL= -g $(DEFINES)
26OPTFLAGS = -O3 $(DEFINES) $(ALLFLAGS)
27OPTFLAGSTMPL= -O3 $(DEFINES)
28
29IFLAGS =  -I/usr/local/include -I$(factorypath)  -I./factor
30CXX = gcc
31OPTCXX = gcc
32CXXFLAGS = $(WARN)
33
34# some machines don't like `gcc` as the linker for C++ code...
35# e.g. the SUN Sparc, so we use `g++` as the linker
36LD = g++ $(ALLFLAGS)
37OPTLD = g++ -s $(ALLFLAGS)
38LDFLAGS=
39LIBPATH = -L/usr/local/lib -L$(factorypath) -L.
40
41.SUFFIXES:      .cc .h .o
42
43DEBOBJ/%.o: %.cc ; $(CXX) -c $< $(CXXFLAGS) $(IFLAGS) $(DEBFLAGS) -o $@
44
45OPTOBJ/%.o: %.cc ; $(OPTCXX) -c $< $(CXXFLAGS) $(IFLAGS) $(OPTFLAGS) -o $@
46
47DEBOBJ/%.o: charset/%.cc ; $(CXX) -c $< $(CXXFLAGS) $(IFLAGS) $(DEBFLAGS) -o $@
48
49OPTOBJ/%.o: charset/%.cc ; $(OPTCXX) -c $< $(CXXFLAGS) $(IFLAGS) $(OPTFLAGS) -o $@
50
51DEBOBJ/%.o: factor/%.cc ; $(CXX) -c $< $(CFLAGS) $(IFLAGS) $(DEBFLAGS) -o $@
52
53OPTOBJ/%.o: factor/%.cc ; $(OPTCXX) -c $< $(CFLAGS) $(IFLAGS) $(OPTFLAGS) -o $@
54
55
56FACTORSRC1 =    factor/SqrFree.cc factor/Factor.cc \
57                factor/MVMultiHensel.cc factor/Truefactor.cc \
58                factor/helpstuff.cc  factor/debug.cc factor/version.cc \
59                factor/homogfactor.cc
60FACTORSRC1 =    factor/tmpl_inst.cc
61FACTORSRC =     $(FACTORSRC2) $(FACTORSRC1)
62CHARSETSRC1 =   charset/csutil.cc charset/charset.cc charset/reorder.cc
63CHARSETSRC =    $(CHARSETSRC1)
64FACTORINCL =    factor/Factor.h factor/MVMultiHensel.h factor/Truefactor.h \
65                factor/tmpl_inst.h factor/SqrFree.h factor/helpstuff.h \
66                factor/debug.h factor/timing.h factor/homogfactor.h
67CHARSETINCL =   charset/csutil.h charset/charset.h charset/reorder.h
68
69OPTFACTOROBJ1 = OPTOBJ/SqrFree.o OPTOBJ/Factor.o OPTOBJ/MVMultiHensel.o \
70                OPTOBJ/Truefactor.o OPTOBJ/helpstuff.o OPTOBJ/version.o \
71                OPTOBJ/homogfactor.o
72OPTFACTOROBJ2 = OPTOBJ/tmpl_inst.o
73OPTFACTOROBJ =  $(OPTFACTOROBJ2) $(OPTFACTOROBJ1)
74
75DEBFACTOROBJ1 = DEBOBJ/SqrFree.o DEBOBJ/Factor.o DEBOBJ/MVMultiHensel.o \
76                DEBOBJ/Truefactor.o DEBOBJ/helpstuff.o DEBOBJ/version.o \
77                DEBOBJ/homogfactor.o
78DEBFACTOROBJ2 = DEBOBJ/tmpl_inst.o
79DEBFACTOROBJ =  $(DEBFACTOROBJ2) $(DEBFACTOROBJ1)
80
81CHARSETOPTOBJ = OPTOBJ/csutil.o OPTOBJ/charset.o OPTOBJ/reorder.o
82
83CHARSETDEBOBJ = DEBOBJ/csutil.o DEBOBJ/charset.o DEBOBJ/reorder.o
84
85LIBS = -lfac -lcf -lmem -lgmp -lm #-lPW
86OPTLIBS = -lfac -lcf-optimize -lmem-optimize -lgmp -lm
87DEBLIBS = -lfac-g -lcf-debug -lmem-debug -lgmp -lm
88
89debtest:        libfac-g DEBOBJ/test.o
90                $(LD) -o test $(LIBPATH) DEBOBJ/test.o $(DEBLIBS)
91
92opttest:        libfac OPTOBJ/test.o
93                $(OPTLD) -o test $(LIBPATH) OPTOBJ/test.o $(OPTLIBS)
94
95libfac.a:       $(OPTFACTOROBJ) $(CHARSETOPTOBJ)
96                $(AR) $(LIBFAC) $(OPTFACTOROBJ) $(CHARSETOPTOBJ)
97                $(RANLIB) $(LIBFAC)
98libfac:         libfac.a
99
100libfac-g.a:     $(DEBFACTOROBJ) $(CHARSETDEBOBJ)
101                $(AR) $(LIBFAC-G) $(DEBFACTOROBJ) $(CHARSETDEBOBJ)
102                $(RANLIB) $(LIBFAC-G)
103libfac-g:       libfac-g.a
104
105singlibfac.a:   $(OPTFACTOROBJ1) $(CHARSETOPTOBJ)
106                $(AR) $(SINGLIBFAC) $(OPTFACTOROBJ1) $(CHARSETOPTOBJ)
107                $(RANLIB) $(SINGLIBFAC)
108singlibfac:     singlibfac.a
109
110singlibfac-g.a: $(DEBFACTOROBJ1) $(CHARSETDEBOBJ)
111                $(AR) $(SINGLIBFAC-G) $(DEBFACTOROBJ1) $(CHARSETDEBOBJ)
112                $(RANLIB) $(SINGLIBFAC-G)
113singlibfac-g:   singlibfac-g.a
114
115debtests:       debtest
116                (cd tests ; factortest )
117
118opttests:       opttest
119                (cd tests ; factortest )
120
121tests:          opttests
122
123newdepend: $(FACTORINCL) $(CHARSETINCL)
124        ./bin/makedep -P OPTOBJ $(IFLAGS) $(FACTORSRC1) \
125                                > OPTOBJ/optdepend
126        ./bin/makedep -P DEBOBJ $(DEFINES) $(IFLAGS) $(FACTORSRC1) \
127                                > DEBOBJ/debdepend
128depend: newdepend
129
130clean:
131        $(RM)   test $(LIBFAC) $(LIBFAC-G) $(SINGLIBFAC) $(SINGLIBFAC-g)
132
133cleanall:       clean
134        ( cd charset; make cleanall )
135        $(RM)   OPTOBJ/optdepend DEBOBJ/debdepend  \
136                DEBOBJ/*.o OPTOBJ/*.o \
137
138archive:        cleanall
139                (cd charset ; make cleanall )
140        rm -f ../libfac.tgz
141
142        gtar -zcvf ../libfac.tgz  .
143
144disk:           archive
145        mcopy ../libfac.tgz a:\libfac.tgz
146        mcopy ../libfac.tgz a:\libfac1.tgz
147
148unpack:
149        mcopy a:\libfac.tgz ../libfac.tgz
150        gtar zxvf ../libfac.tgz
151        ( cd charset ; make dirs )
152
153
154DEBOBJ/tmpl_inst.o: factor/tmpl_inst.cc ; $(CXX) -c $< $(CFLAGS) $(DEBFLAGSTMPL) $(IFLAGS) -o $@
155
156OPTOBJ/tmpl_inst.o: factor/tmpl_inst.cc ; $(OPTCXX) -c $< $(CFLAGS) $(OPTFLAGSTMPL) $(IFLAGS) -o $@
157
Note: See TracBrowser for help on using the repository browser.