diff --git a/Makefile b/Makefile index eed005a..90902ef 100644 --- a/Makefile +++ b/Makefile @@ -1,55 +1,82 @@ -GCC_FLAGS=-g ${CFLAGS} - -all: readpst pst2ldif nick2ldif getidblock readpstlog dumpblocks - -libpst.o: libpst.c libpst.h define.h - gcc ${GCC_FLAGS} -c libpst.c -o libpst.o - -libstrfunc.o: libstrfunc.c libstrfunc.h - gcc ${GCC_FLAGS} -c libstrfunc.c -o libstrfunc.o - -debug.o: debug.c define.h - gcc ${GCC_FLAGS} -c debug.c -o debug.o - -lzfu.o: lzfu.c define.h - gcc ${GCC_FLAGS} -c lzfu.c -o lzfu.o - -readpst: readpst.c define.h libpst.o timeconv.o libstrfunc.o common.h debug.o lzfu.o -# ccmalloc gcc -Wall -Werror readpst.c -g -o readpst libpst.o timeconv.o libstrfunc.o debug.o -# gcc -Wall -Werror readpst.c -g -o readpst libpst.o timeconv.o libstrfunc.o debug.o lzfu.o -lefence - gcc ${GCC_FLAGS} readpst.c -o readpst libpst.o timeconv.o libstrfunc.o debug.o lzfu.o - -pst2ldif: pst2ldif.c define.h libpst.o timeconv.o libstrfunc.o common.h debug.o lzfu.o - gcc ${GCC_FLAGS} pst2ldif.c -o pst2ldif libpst.o timeconv.o libstrfunc.o debug.o lzfu.o - -nick2ldif: nick2ldif.cpp define.h libpst.o timeconv.o libstrfunc.o common.h debug.o lzfu.o - g++ ${GCC_FLAGS} nick2ldif.cpp -o nick2ldif libpst.o timeconv.o libstrfunc.o debug.o lzfu.o - -timeconv.o: timeconv.c timeconv.h common.h - gcc ${GCC_FLAGS} -c timeconv.c -o timeconv.o - -getidblock: getidblock.c define.h libpst.o common.h debug.o libstrfunc.o - gcc ${GCC_FLAGS} getidblock.c -o getidblock libpst.o debug.o timeconv.o libstrfunc.o - -testdebug: testdebug.c define.h debug.o - gcc ${GCC_FLAGS} testdebug.c -o testdebug debug.o libstrfunc.o - -readpstlog: readpstlog.c define.h debug.o - gcc ${GCC_FLAGS} readpstlog.c -g -o readpstlog debug.o libstrfunc.o - -dumpblocks: dumpblocks.c define.h libpst.o debug.o - gcc ${GCC_FLAGS} dumpblocks.c -o dumpblocks libpst.o debug.o libstrfunc.o timeconv.o +#!/usr/bin/make -f + +CFLAGS ?= -g -Wall +PREFIX ?= /usr/local +INSTALL ?= install + +#---------------- Do not modify below this point ------------------ + +INSTALL_DIR := $(INSTALL) -p -d -o root -g root -m 0755 +INSTALL_FILE := $(INSTALL) -p -o root -g root -m 0644 +INSTALL_PROGRAM := $(INSTALL) -p -o root -g root -m 0755 # -s +INSTALL_SCRIPT := $(INSTALL) -p -o root -g root -m 0755 + +VERSION = $(shell cat VERSION) + +DOCS := AUTHORS ChangeLog CREDITS FILE-FORMAT FILE-FORMAT.html LICENSE TODO \ + VERSION + +DISTFILES := $(DOCS) Makefile setup1.vdproj XGetopt.c XGetopt.h common.h \ + debug.c define.h dumpblocks.c getidblock.c libpst.c libpst.h \ + libstrfunc.c libstrfunc.h lspst.c lzfu.c lzfu.h moz-script \ + readlog.vcproj readpst.1 readpst.c readpstlog.1 readpstlog.c \ + testdebug.c timeconv.c timeconv.h w32pst.sln w32pst.vcproj + +PROGS := lspst readpst readpstlog pst2ldif nick2ldif +ALL_PROGS := $(PROGS) dumpblocks getidblock testdebug + +all: $(PROGS) + +XGetopt.o: XGetopt.h +debug.o: define.h +dumpblocks.o: define.h +getidblock.o: XGetopt.h define.h libpst.h +libpst.o: define.h libstrfunc.h libpst.h timeconv.h +libstrfunc.o: libstrfunc.h +lspst.o: libpst.h timeconv.h +lzfu.o: define.h libpst.h lzfu.h +readpst.o: XGetopt.h libstrfunc.h define.h libpst.h common.h timeconv.h lzfu.h +pst2ldif.o: XGetopt.h libstrfunc.h define.h libpst.h common.h timeconv.h lzfu.h +nick2ldif.o: XGetopt.h libstrfunc.h define.h libpst.h common.h timeconv.h lzfu.h +readpstlog.o: XGetopt.h define.h +testdebug.o: define.h +timeconv.o: timeconv.h common.h + +readpst: readpst.o libpst.o timeconv.o libstrfunc.o debug.o lzfu.o +pst2ldif: pst2ldif.o libpst.o timeconv.o libstrfunc.o debug.o lzfu.o +nick2ldif: nick2ldif.o libpst.o timeconv.o libstrfunc.o debug.o lzfu.o +lspst: debug.o libpst.o libstrfunc.o lspst.o timeconv.o +getidblock: getidblock.o libpst.o debug.o libstrfunc.o +testdebug: testdebug.o debug.o +readpstlog: readpstlog.o debug.o +dumpblocks: dumpblocks.o libpst.o debug.o libstrfunc.o clean: - rm -f core readpst pst2ldif libpst.o timeconv.o libstrfunc.o debug.o getidblock readpstlog testdebug dumpblocks lzfu.o *~ + rm -f core *.o readpst.log $(ALL_PROGS) *~ MANIFEST -rebuild: clean all +distclean: clean + rm -f libpst-*.tar.gz install: all - cp readpst /usr/local/bin - cp pst2ldif /usr/local/bin - cp readpstlog /usr/local/bin + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/bin + $(INSTALL_PROGRAM) readpst{,log} $(DESTDIR)$(PREFIX)/bin + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/man/man1 + $(INSTALL_FILE) readpst{,log}.1 $(DESTDIR)$(PREFIX)/share/man/man1/ + $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/doc/libpst + $(INSTALL_FILE) $(DOCS) $(DESTDIR)$(PREFIX)/share/doc/libpst/ + uninstall: - rm -f /usr/local/bin/readpst - rm -f /usr/local/bin/pst2ldif - rm -f /usr/local/bin/readpstlog + -rm -f $(DESTDIR)$(PREFIX)/bin/readpst{,log} + -rm -f $(DESTDIR)$(PREFIX)/share/man/man1/readpst{,log}.1 + +# stolen from ESR's Software Release Practices HOWTO available at: +# http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/distpractice.html +MANIFEST: Makefile + @ls $(DISTFILES) | sed s:^:libpst-$(VERSION)/: >MANIFEST +tarball libpst-$(VERSION).tar.gz: MANIFEST $(DISTFILES) + @(cd ..; ln -s libpst libpst-$(VERSION)) + (cd ..; tar -czvf libpst/libpst-$(VERSION).tar.gz `cat libpst/MANIFEST`) + @(cd ..; rm libpst-$(VERSION)) + @rm -f MANIFEST + +.PHONY: clean distclean uninstall install tarball