1prefix ?= /usr/local 2includedir = $(prefix)/include 3libdir = $(prefix)/lib 4mandir = $(prefix)/man 5CC = gcc 6LIBNAME = domc 7MAJVERSION = 0.8 8MINVERSION = 0.8.0 9ARNAME = lib$(LIBNAME).a 10SONAME = lib$(LIBNAME).so.$(MINVERSION) 11SOVERSION = lib$(LIBNAME).so.$(MAJVERSION) 12DISTRO = $(LIBNAME)-$(MINVERSION) 13RPM_OPT_FLAGS = -O2 14CFLAGS = -Wall -W -g -DMSGNO $(RPM_OPT_FLAGS) -I$(includedir) -L$(libdir) 15#CFLAGS = -Wall -W -DMSGNO -I$(includedir) -L$(libdir) $(RPM_OPT_FLAGS) -ansi -pedantic -Wbad-function-cast -Wcast-align -Wcast-qual -Wchar-subscripts -Winline -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings -Wtraditional -Wconversion -Waggregate-return -Wno-parentheses 16OBJS = src/expatls.o src/events.o src/node.o src/nodelist.o src/namednodemap.o src/dom.o src/timestamp.o src/wcwidth.o src/mbs.o 17MAN = DOM_CharacterData.3m.gz DOM_Document.3m.gz DOM_Element.3m.gz DOM_Implementation.3m.gz DOM_NamedNodeMap.3m.gz DOM_Node.3m.gz DOM_NodeList.3m.gz DOM_Text.3m.gz 18 19all: $(SONAME) src/defines.h 20 21$(SONAME): $(OBJS) 22 $(CC) $(LDFLAGS) -shared $(OBJS) -L$(libdir) -lmba -lexpat -Wl,-h,$(SOVERSION) -o $(SONAME) 23 24.c.a: 25 $(CC) $(CFLAGS) -c -o $*.o $< 26 ar rv $@ $*.o 27 rm $*.o 28 29.c.o: 30 $(CC) $(CFLAGS) -fpic -c -o $*.o $< 31 32install: prefix=$(INSTDIR) 33install: $(SONAME) 34 install -d $(libdir) 35 install -d $(includedir) 36 install -d $(mandir)/man3 37 ${BSD_INSTALL_LIB} $(SONAME) $(libdir) 38 cd $(libdir) && ln -sf $(SONAME) $(SOVERSION) && ln -sf $(SONAME) lib$(LIBNAME).so 39 ${BSD_INSTALL_DATA} src/domc.h $(includedir) 40 ${BSD_INSTALL_DATA} docs/man/*.3m.gz $(mandir)/man3 41 42zip: 43 cd .. && zip -lr $(DISTRO)/.$(DISTRO).zip $(DISTRO) -x $(DISTRO)/.* $(DISTRO)/docs/man/* $(DISTRO)/tests/utf8* $(DISTRO)/domc.lib $(DISTRO)/domc.dll $(DISTRO)/domc_s.lib 44 cd .. && zip -ur $(DISTRO)/.$(DISTRO).zip $(DISTRO) -x $(DISTRO)/.* $(DISTRO)/docs/man/* 45 mv .$(DISTRO).zip $(DISTRO).zip 46 47clean: 48 rm -f $(OBJS) $(ARNAME) $(SONAME) $(includedir)/domc.h $(libdir)/$(ARNAME) $(libdir)/$(SONAME) $(libdir)/$(SOVERSION) $(libdir)/lib$(LIBNAME).so $(DISTRO).zip 49 cd $(mandir)/man3 && rm -f $(MAN) 50 51