File: Makefile

package info (click to toggle)
tuxcmd-modules 0.6.70%2Bds-4
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 1,872 kB
  • sloc: cpp: 11,743; ansic: 8,064; makefile: 245
file content (60 lines) | stat: -rw-r--r-- 1,838 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# path definitions
DESTDIR = /usr
INSTALL=install -c
INSTALL_DATA = ${INSTALL} -m 644
DIR_COMMON=../common/
DIR_LIBARCHIVE=./libarchive-2.5.5

# compiler options
CC = gcc
CPP = g++
CFLAGS =-I. -I/usr/include -I$(DIR_COMMON) \
	-Wall -fPIC -O2 -g \
	-DG_DISABLE_DEPRECATED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE \
	-D__VERBOSE_DEBUGx

VFS_COMMON_OBJECTS=strutils.o treepathutils.o treepath_vfs.o vfsutils.o

VFS_OBJECTS=libarchive.o


.SUFFIXES: .c .cpp
.c.o:
	$(CC) $(CFLAGS) `pkg-config glib-2.0 --cflags` -c $<
.cpp.o:
	$(CPP) $(CFLAGS) `pkg-config glib-2.0 --cflags` -c $<


all: static


shared: $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS)
	$(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(CFLAGS) `pkg-config glib-2.0 --libs` -larchive -lz -lbz2

static: CFLAGS += -I$(DIR_LIBARCHIVE)/libarchive
static: lib_libarchive_compile $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS)
	$(CC) -shared -o libarchive_plugin.so $(VFS_COMMON_OBJECTS) $(VFS_OBJECTS) $(DIR_LIBARCHIVE)/.libs/libarchive.a $(CFLAGS) `pkg-config glib-2.0 --libs` -lz -lbz2

lib_libarchive_compile:
	@which uudecode > /dev/null || exit 1;
	@if test ! -f "$(DIR_LIBARCHIVE)/.libs/libarchive.a"; then \
	    echo "Building libarchive..."; echo; \
	    (cd "$(DIR_LIBARCHIVE)" && ./configure --enable-static --disable-shared --disable-bsdtar --disable-bsdcpio --with-pic && $(MAKE)) || exit 1; \
	    echo; echo "Libarchive build successful"; echo; \
	fi;


strutils.o: strutils.c strutils.h
treepathutils.o: treepathutils.c treepathutils.h
vfsutils.o: vfsutils.c vfsutils.h
treepath_vfs.o: treepath_vfs.c treepath_vfs.h

install::
	$(INSTALL) ./libarchive_plugin.so $(DESTDIR)/lib/tuxcmd/

clean: 
	rm -f *.o *.d *.gch libarchive_plugin.so
	@if test -e $(DIR_LIBARCHIVE)/Makefile; then \
	    (cd "$(DIR_LIBARCHIVE)" && $(MAKE) clean) \
	fi;