Sophie

Sophie

distrib > Fedora > 17 > i386 > media > updates-src > by-pkgid > 258f5c46e9eb81ec02e0ed2686045c76 > files > 5

minisat2-2.2.0-5.fc17.src.rpm

--- mtl/template.mk.orig	2010-07-10 10:07:36.000000000 -0600
+++ mtl/template.mk	2013-03-01 14:59:16.048911115 -0700
@@ -5,6 +5,8 @@
 ##        "make d"  for a debug version (no optimizations).
 ##        "make"    for the standard version (optimized, but with debug information and assertions active)
 
+VERSION    =
+MAJVER     = $(shell sed -r s/^\([[:digit:]]+\).*/\\1/ <<<$(VERSION))
 PWD        = $(shell pwd)
 EXEC      ?= $(notdir $(PWD))
 
@@ -41,7 +43,7 @@
 libr:	lib$(LIB)_release.a
 
 ## Compile options
-%.o:			CFLAGS +=$(COPTIMIZE) -g -D DEBUG
+%.o:			CFLAGS +=$(COPTIMIZE) -g -D NDEBUG -fPIC
 %.op:			CFLAGS +=$(COPTIMIZE) -pg -g -D NDEBUG
 %.od:			CFLAGS +=-O0 -g -D DEBUG
 %.or:			CFLAGS +=$(COPTIMIZE) -g -D NDEBUG
@@ -54,12 +56,13 @@
 $(EXEC)_static:		LFLAGS += --static
 
 ## Dependencies
-$(EXEC):		$(COBJS)
+$(EXEC):		lib$(LIB).so
 $(EXEC)_profile:	$(PCOBJS)
 $(EXEC)_debug:		$(DCOBJS)
 $(EXEC)_release:	$(RCOBJS)
 $(EXEC)_static:		$(RCOBJS)
 
+lib$(LIB).so:		$(filter-out */Main.o,  $(COBJS))
 lib$(LIB)_standard.a:	$(filter-out */Main.o,  $(COBJS))
 lib$(LIB)_profile.a:	$(filter-out */Main.op, $(PCOBJS))
 lib$(LIB)_debug.a:	$(filter-out */Main.od, $(DCOBJS))
@@ -72,11 +75,21 @@
 	@$(CXX) $(CFLAGS) -c -o $@ $<
 
 ## Linking rules (standard/profile/debug/release)
-$(EXEC) $(EXEC)_profile $(EXEC)_debug $(EXEC)_release $(EXEC)_static:
+$(EXEC): Main.o
+	@echo Linking: "$@ ( $(foreach f,$^,$(subst $(MROOT)/,,$f)) )"
+	@$(CXX) $< -o $@ -L. -l$(LIB) $(LFLAGS)
+
+$(EXEC)_profile $(EXEC)_debug $(EXEC)_release $(EXEC)_static:
 	@echo Linking: "$@ ( $(foreach f,$^,$(subst $(MROOT)/,,$f)) )"
 	@$(CXX) $^ $(LFLAGS) -o $@
 
 ## Library rules (standard/profile/debug/release)
+lib$(LIB).so: $(COBJS)
+	@echo Making library: "$@ ( $(foreach f,$^,$(subst $(MROOT)/,,$f)) )"
+	@$(CXX) -shared -Wl,-soname=$@.$(MAJVER) -o $@.$(VERSION) $^ $(LFLAGS)
+	@ln -s lib$(LIB).so.$(VERSION) lib$(LIB).so.$(MAJVER)
+	@ln -s lib$(LIB).so.$(MAJVER) lib$(LIB).so
+
 lib$(LIB)_standard.a lib$(LIB)_profile.a lib$(LIB)_release.a lib$(LIB)_debug.a:
 	@echo Making library: "$@ ( $(foreach f,$^,$(subst $(MROOT)/,,$f)) )"
 	@$(AR) -rcsv $@ $^