diff -ur c07.02.01/source/Makefile c07.02.01.new/source/Makefile
--- c07.02.01/source/Makefile 2007-07-09 04:28:29.000000000 +0200
+++ c07.02.01.new/source/Makefile 2008-02-14 11:31:59.000000000 +0100
@@ -1,15 +1,17 @@
# Makefile for compiling Cloudy on a g++ platform
# This works only with GNU make!
-CXX = g++
-CXXFLAGS = -ansi -g -O3 -Wall
-LDLIBS = -lm
+
+
+
.PHONY: clean distclean depend
# this is a filter to erase optimization flags from CXXFLAGS
OPTFILTER = -O -O1 -O2 -O3 -O4 -O5 -Os -xO -xO1 -xO2 -xO3 -xO4 -xO5 -fast
CXXFLAGSNOOPT = ${filter-out ${OPTFILTER},${CXXFLAGS}}
+CXXNOLIBFLAGS := ${CXXFLAGS}
+CXXFLAGS = -fPIC -DPIC $(CXXNOLIBFLAGS)
main := maincl.cpp
source := ${wildcard *.cpp}
@@ -31,16 +33,20 @@
CDP = $(shell pwd)/../data/
endif
-cloudy.exe : maincl.o libcloudy.a
- ${CXX} ${CXXFLAGS} ${LDFLAGS} -o cloudy.exe maincl.o libcloudy.a ${LDLIBS}
+cloudy.exe : maincl.cpp libcloudy.so
+ ${CXX} ${CXXNOLIBFLAGS} ${LDFLAGS} -o cloudy.exe maincl.cpp -L. -lcloudy ${LDLIBS}
libcloudy.a: ${libobjects}
ar ru libcloudy.a ${libobjects}
${RANLIB} libcloudy.a
+libcloudy.so: ${libobjects}
+ ${CXX} ${CXXFLAGS} -shared -o libcloudy.so.0 -Wl,-soname,libcloudy.so.0 ${libobjects} ${LDFLAGS}
+ ln -s libcloudy.so.0 libcloudy.so
clean :
rm -f *.o
rm -f libcloudy.a
+ rm -f libcloudy.so*
rm -f cloudy.exe
distclean :