#Uncomment to compile under Cygwin #CYGWIN = 1 #Uncomment to compile under Mac OS X #MACOSX VERS = 1 REV = 3 PREFIX = LDCONFIG = /sbin/ldconfig WFLAGS = -Wall -Wshadow -Wformat-security -Wpointer-arith -Wcast-align -Wredundant-decls -Werror -Wconversion -Wwrite-strings -Wextra -Wno-unused-parameter CXXFLAGS = -O2 -MMD -pedantic -ansi $(GCC_MARCH) $(WFLAGS) -I. -I.. -DTABLEGENERATOR_VERSION=$(VERS)L -DTABLEGENERATOR_REVISION=$(REV)L ifdef CYGWIN WFLAGS += -Wno-uninitialized LIB_EXT = dll else ifdef MACOSX LIB_EXT = dylib else CXXFLAGS += -fPIC LIB_EXT = so endif EXPORT_HEADERS = tablegenerator.hpp tablestrategy.hpp ODIR = obj _OBJ = tablegenerator.o simpletable.o framedtable.o space3table.o shadowtable.o helpers.o htmltable.o OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ)) LIBNAME = libtablegenerator.$(LIB_EXT) all: $(LIBNAME) $(ODIR)/%.o: %.cpp $(CXX) -c -o $@ $< $(CXXFLAGS) $(LIBNAME): $(OBJ) ifdef CYGWIN $(CXX) -shared -Wl,-soname,$(LIBNAME) -o $(LIBNAME) $^ else ifdef MACOSX $(CXX) -shared -dynamiclib -install_name $(LIBNAME) -o $(LIBNAME) $^ else $(CXX) -shared -Wl,-soname,$(LIBNAME).$(VERS) -o $(LIBNAME).$(VERS).$(REV) $^ $(LDCONFIG) -n . ln -sf $(LIBNAME).$(VERS) $(LIBNAME) endif clean: rm -f $(ODIR)/*.d *~ core* $(ODIR)/*.o test lib*.a lib*.so* lib*.dylib -include $(ODIR)/*.d install: all cp $(LIBNAME) $(PREFIX)/lib cp $(EXPORT_HEADERS) $(PREFIX)/include/tablegenerator test: $(ODIR)/test.o $(LIBNAME) $(CXX) -o $@ $< -L. -ltablegenerator -Wl,-rpath,. -I. mos: $(MAKE) -f Makefile.MOS