Makefile
author nathan
Sat, 29 Dec 2007 15:28:06 +0100
branchtrunk
changeset 8 a306b5e43b44
parent 4 79da91042fcc
permissions -rw-r--r--
release 0.7.0
nathan@0
     1
# compiler selection and options
nathan@2
     2
CC       = gcc
nathan@2
     3
CFLAGS   = -g -O2 -Wall
nathan@2
     4
DEPFLAGS = -MM -MG
nathan@0
     5
nathan@0
     6
# install location
nathan@0
     7
PREFIX=/usr/local
nathan@0
     8
BINDIR=$(PREFIX)/bin
nathan@0
     9
MANDIR=$(PREFIX)/man
nathan@0
    10
nathan@0
    11
###############################################
nathan@0
    12
nathan@2
    13
TARGETS = cdbackup cdrestore
nathan@2
    14
VERSION = $(shell grep 'define VERSION' version.h | awk '{ print $$3 }' | sed -e 's/["]//g')
nathan@2
    15
ARCHIVE = cdbackup-$(VERSION)
nathan@2
    16
DEPFILE = .dependencies
nathan@2
    17
TMPDIR  = /tmp
nathan@0
    18
nathan@0
    19
all: $(TARGETS)
nathan@0
    20
nathan@0
    21
%.o: %.c
nathan@0
    22
	$(CC) $(CFLAGS) -c $< -o $@
nathan@0
    23
nathan@2
    24
$(DEPFILE): Makefile
nathan@4
    25
	@$(CC) $(DEPFLAGS) cdbackup.c cdrestore.c cdrom.c virtual.c misc.c > $@
nathan@2
    26
nathan@2
    27
include $(DEPFILE)
nathan@2
    28
nathan@4
    29
cdbackup: cdbackup.o cdrom.o virtual.o virtual-backup.o misc.o
nathan@4
    30
	$(CC) $(CFLAGS) -o $@ $^
nathan@0
    31
nathan@4
    32
cdrestore: cdrestore.o cdrom.o virtual.o misc.o
nathan@4
    33
	$(CC) $(CFLAGS) -o $@ $^
nathan@0
    34
nathan@0
    35
strip: $(TARGETS)
nathan@0
    36
	strip $(TARGETS)
nathan@0
    37
nathan@0
    38
clean:
nathan@2
    39
	rm -f $(TARGETS) $(DEPFILE) cdbackup-*.tar.gz core *.core *.o
nathan@2
    40
nathan@2
    41
dist: clean
nathan@2
    42
	@-rm -rf $(TMPDIR)/$(ARCHIVE)
nathan@2
    43
	@mkdir $(TMPDIR)/$(ARCHIVE)
nathan@2
    44
	@cp -a * $(TMPDIR)/$(ARCHIVE)
nathan@2
    45
	@tar czf $(ARCHIVE).tar.gz -C $(TMPDIR) $(ARCHIVE)
nathan@2
    46
	@-rm -rf $(TMPDIR)/$(ARCHIVE)
nathan@2
    47
	@echo Distribution package created as $(ARCHIVE).tar.gz
nathan@0
    48
nathan@0
    49
install:
nathan@0
    50
	install -d $(BINDIR)
nathan@0
    51
	install $(TARGETS) $(BINDIR)
nathan@0
    52
	install -d $(MANDIR)/man1
nathan@0
    53
	gzip -c cdbackup.1 >$(MANDIR)/man1/cdbackup.1.gz
nathan@0
    54
	gzip -c cdrestore.1 >$(MANDIR)/man1/cdrestore.1.gz