File: Makefile

package info (click to toggle)
prismstumbler 0.7.0-2.1
  • links: PTS
  • area: main
  • in suites: lenny, squeeze
  • size: 1,932 kB
  • ctags: 2,275
  • sloc: ansic: 22,108; sh: 2,525; makefile: 438; lex: 381; yacc: 279
file content (156 lines) | stat: -rw-r--r-- 5,464 bytes parent folder | download | duplicates (2)
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
PACKAGE = prismstumbler
VERSION = 0.7.0
NATIVE = yes
DEBUG = no
INSTALL = install
PREFIX = /usr/
DESTDIR = /
CONTROL = control1
CONTROL-FE = control1fe
WLAN_NG = no
SUBDIRS = wlanctl gpsd
#LINUXINCLUDES = /usr/src/linux/include

bin_PROGRAMS = prismstumbler miniclient psfront

prismstumbler_LDADD = gpsd/libgpsd.a -lpcap -lm
psfront_LDADD = -lgpewidget -lsqlite -lz

psfront_OBJECTS = psgui.o main-fe.o helper.o interface.o support.o ps_resolv.o ps_database.o cards.o preferences.o setupdlg.o helpwindow.o
miniclient_OBJECTS = miniclient.o
prismstumbler_OBJECTS =  main.o prismstumbler.o iface-wlan-14.o fxgps.o analyzer.o iface-scan.o iwlib.o

PIXMAPS = prism-icon4.png wlan-net.png stock_record.png stock_record_on.png stock_jump_on.png


ifeq ($(DEBUG),yes)
CFLAGS += -DDEBUG -g
else
CFLAGS += -O2 -fomit-frame-pointer
endif

CFLAGS += -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(PREFIX)\" -D_GNU_SOURCE -DPACKAGE=\"$(PACKAGE)\" 
CFLAGS += -DPACKAGE_LOCALE_DIR=\"$(PREFIX)/share/locale\" -I../include -Ilibpcap-0.7.2 

CPPFLAGS += -I.

GTKCFLAGS = `pkg-config --cflags gtk+-2.0 gdk-pixbuf-2.0` 
GTKLDFLAGS += `pkg-config --libs gtk+-2.0 gdk-2.0` `pkg-config --libs gthread-2.0`

# setup how to compile
ifeq ($(NATIVE),yes)

STRIP=strip
CC=gcc

CFLAGS +=  -Wall

else # we do cross-compile...

CC=arm-linux-gcc
STRIP=arm-linux-strip

# CFLAGS +=  -Wall -I/skiff/local/arm-linux/include
LDFLAGS += -L/skiff/local/arm-linux/lib -L/skiff/local/arm-linux/lib/X11  
GTKLDFLAGS += -lgmodule-2.0 -ldl -lXinerama
GTKLDFLAGS += -lX11 -lXext -lXrender -lgdk-x11-2.0
LDFLAGS += -lm

endif #native or cross-compile

ifeq ($(WLAN_NG),yes)
prismstumbler_LDADD += wlanctl/wlanctl.a
CFLAGS += -DWLAN_NG 
endif

MEMBERS  = main 

OBJS = $(patsubst %,%.o,$(MEMBERS))
DEPS = $(patsubst %,%.d,$(MEMBERS))
SOURCES = $(patsubst %,%.c,$(MEMBERS))


${SUBDIR}:
	cd $@; make ${CFLAGS} PREFIX=${PREFIX} DESTDIR=${DESTDIR}

all: ${SUBDIR} ${bin_PROGRAMS}

prismstumbler: $(prismstumbler_OBJECTS) $(prismstumbler_DEPENDENCIES)
	@rm -f prismstumbler
	$(CC) -g -o $@ $(LDFLAGS) $(prismstumbler_OBJECTS) $(prismstumbler_LDADD) 

miniclient: $(miniclient_OBJECTS)
	@rm -f miniclient
	$(CC) -g -o $@ $(LDFLAGS) $(miniclient_OBJECTS) $(miniclient_LDADD) 

CFLAGS += $(GTKCFLAGS)
	
psfront: $(psfront_OBJECTS)
	@rm -f psfront
	$(CC) -g -o $@ $(LDFLAGS) $(psfront_LDADD) $(GTKLDFLAGS) $(psfront_OBJECTS)

CFLAGS += $(MIMECFLAGS)

#installs all
install-program: $(bin_PROGRAMS)
	mkdir -p $(DESTDIR)/$(PREFIX)/bin
	$(INSTALL) $(bin_PROGRAMS) $(DESTDIR)$(PREFIX)/bin/
	for i in $(bin_PROGRAMS); do $(STRIP) $(DESTDIR)$(PREFIX)/bin/$$i; done	
	mkdir -p $(DESTDIR)$(PREFIX)/share/pixmaps
	for i in $(PIXMAPS); do install -m 644 -D pixmaps/$$i $(DESTDIR)$(PREFIX)/share/pixmaps/$$i; done
	mkdir -p $(DESTDIR)$(PREFIX)/share/applications
	$(INSTALL) -m 644 familiar/*.desktop $(DESTDIR)$(PREFIX)/share/applications
	mkdir -p $(DESTDIR)$(PREFIX)/share/doc/prismstumbler
	$(INSTALL) -m 644 ../doc/help.txt  $(DESTDIR)$(PREFIX)/share/doc/prismstumbler

install-backend: prismstumbler
	mkdir -p $(DESTDIR)/$(PREFIX)/bin
	$(INSTALL) prismstumbler $(DESTDIR)$(PREFIX)/bin/
	$(STRIP) $(DESTDIR)$(PREFIX)/bin/prismstumbler	
	
install-frontend: psfront
	mkdir -p $(DESTDIR)/etc
	$(INSTALL) -m 644 manufacturers.dat.gz $(DESTDIR)/etc
	mkdir -p $(DESTDIR)/$(PREFIX)/bin
	$(INSTALL) psfront $(DESTDIR)$(PREFIX)/bin/
	$(INSTALL) familiar/pst $(DESTDIR)$(PREFIX)/bin/
	$(STRIP) $(DESTDIR)$(PREFIX)/bin/psfront
	mkdir -p $(DESTDIR)$(PREFIX)/share/pixmaps
	for i in $(PIXMAPS); do install -m 644 -D pixmaps/$$i $(DESTDIR)$(PREFIX)/share/pixmaps/$$i; done
	mkdir -p $(DESTDIR)$(PREFIX)/share/applications
	$(INSTALL) -m 644 familiar/*.desktop $(DESTDIR)$(PREFIX)/share/applications
	mkdir -p  $(DESTDIR)$(PREFIX)/share/doc/prismstumbler
	$(INSTALL) -m 644 ../doc/help.txt $(DESTDIR)$(PREFIX)/share/doc/prismstumbler/
	
clean:
	rm -f $(bin_PROGRAMS) $(OBJS) *~ */*~ *.ipk *.o

install: install-program
 
ipkg: ipkg-frontend ipkg-backend

ipkg-backend: clean
	rm -rf familiar/dist
	mkdir -p familiar/dist/CONTROL
	sed 's:VERSION:$(VERSION):' < familiar/$(CONTROL) > familiar/dist/CONTROL/control
	if test -e familiar/conffiles; then install -m 644 familiar/conffiles familiar/dist/CONTROL; fi
	if test -e familiar/preinst;   then install familiar/preinst   familiar/dist/CONTROL; fi
	if test -e familiar/postinst;  then install familiar/postinst  familiar/dist/CONTROL; fi
	if test -e familiar/prerm;     then install familiar/prerm     familiar/dist/CONTROL; fi
	if test -e familiar/postrm;    then install familiar/postrm    familiar/dist/CONTROL; fi
	$(MAKE) DESTDIR=`pwd`/familiar/dist PREFIX=/usr prefix=/usr DEBUG=no install-backend
	ipkg-build familiar/dist
	mv *.ipk ..

ipkg-frontend: clean
	rm -rf familiar/dist
	mkdir -p familiar/dist/CONTROL
	sed 's:VERSION:$(VERSION):' < familiar/$(CONTROL-FE) > familiar/dist/CONTROL/control
	if test -e familiar/conffiles-fe; then install -m 644 familiar/conffiles familiar/dist/CONTROL; fi
	if test -e familiar/preinst;   then install familiar/preinst   familiar/dist/CONTROL; fi
	if test -e familiar/postinst-fe;  then install familiar/postinst  familiar/dist/CONTROL; fi
	if test -e familiar/prerm;     then install familiar/prerm     familiar/dist/CONTROL; fi
	if test -e familiar/postrm;    then install familiar/postrm    familiar/dist/CONTROL; fi
	$(MAKE) DESTDIR=`pwd`/familiar/dist PREFIX=/usr prefix=/usr DEBUG=no install-frontend
	ipkg-build familiar/dist
	mv *.ipk ..