Extract common OMFS code into a library
[omfsprogs.git] / Makefile
blobab07de7303108d063bf46c2af6e0d4f4c1ad88c4
1 VERSION=0.1.0
2 DISTNAME=omfsprogs-$(VERSION)
3 DISTFILES=*.[ch] Makefile README COPYING libs/*.[ch] libs/Makefile
4 TESTFILES=test/*.[ch] test/Makefile test/*.sh
6 COMMON_SRCS=dirscan.c stack.c io.c
7 COMMON_OBJS=$(COMMON_SRCS:.c=.o)
9 OMFSCK_SRCS=omfsck.c fix.c check.c
10 OMFSCK_OBJS=$(OMFSCK_SRCS:.c=.o) $(COMMON_OBJS)
12 MKOMFS_SRCS=mkomfs.c create_fs.c disksize.c
13 MKOMFS_OBJS=$(MKOMFS_SRCS:.c=.o) $(COMMON_OBJS)
15 OMFSDUMP_SRCS=omfsdump.c dump.c
16 OMFSDUMP_OBJS=$(OMFSDUMP_SRCS:.c=.o) $(COMMON_OBJS)
18 CFLAGS=-g -Wall -Wpadded -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I libomfs
19 LIBS=-Llibomfs -lomfs
21 all: omfsck mkomfs omfsdump
23 omfsck: $(OMFSCK_OBJS)
24 gcc -o omfsck $(OMFSCK_OBJS) $(LIBS)
26 mkomfs: $(MKOMFS_OBJS)
27 gcc -o mkomfs $(MKOMFS_OBJS) $(LIBS)
29 omfsdump: $(OMFSDUMP_OBJS)
30 gcc -o omfsdump $(OMFSDUMP_OBJS) $(LIBS)
32 clean:
33 $(RM) omfsck mkomfs *.o
34 cd test && $(MAKE) clean
36 dist: clean
37 mkdir $(DISTNAME)
38 mkdir $(DISTNAME)/test
39 cp $(DISTFILES) $(DISTNAME)
40 cp $(TESTFILES) $(DISTNAME)/test
41 tar czvf $(DISTNAME).tar.gz $(DISTNAME)
42 $(RM) -r $(DISTNAME)
44 distcheck: dist
45 mkdir build
46 cd build && tar xzvf ../$(DISTNAME).tar.gz && \
47 cd $(DISTNAME) && $(MAKE) && \
48 cd test && $(MAKE)
49 $(RM) -r build