File: eppic.mk

package info (click to toggle)
crash 9.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,552 kB
  • sloc: ansic: 167,446; makefile: 585; sh: 19
file content (78 lines) | stat: -rw-r--r-- 2,221 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
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

TARGET_FLAGS = -D$(TARGET)
ifeq ($(TARGET), PPC64)
	TARGET_FLAGS += -m64
endif
ifeq ($(TARGET), ARM)
	TARGET_FLAGS += -m32
endif
ifeq ($(TARGET), MIPS)
	TARGET_FLAGS += -m32
endif
ifeq ($(TARGET), X86)
	TARGET_FLAGS += -m32
endif

APPFILE=eppic/applications/crash/eppic.c
GIT := $(shell which git 2> /dev/null)
# crash 8 with gdb 10 uses new third party callback (tcb) API
EPPIC_BRANCH=v5.0

all:
	@if [ -f /usr/bin/flex ] && [ -f /usr/bin/bison ]; \
	then \
		if [ -f ../$(GDB)/crash.target ]; \
		then \
			if  [ ! -f $(APPFILE) ]; \
			then \
				if [ -f "$(GIT)" -a 0 -gt 1 ]; \
				then \
					if [ -n "$(EPPIC_GIT_URL)" ]; \
					then \
						git clone $(EPPIC_GIT_OPTIONS) $(EPPIC_GIT_URL) eppic; \
					else \
						if ping -c 1 -W 5 github.com >/dev/null ; then \
							git clone -b $(EPPIC_BRANCH) $(EPPIC_GIT_OPTIONS) https://github.com/lucchouina/eppic.git eppic; \
						fi; \
					fi; \
				else \
					if [ ! -f "$(GIT)" ]; then \
						echo "eppic.so: git command is needed for pulling eppic extension code"; \
					fi; \
				fi; \
			fi; \
			if  [ -f $(APPFILE) ]; \
			then \
				make -f eppic.mk eppic.so; \
			else \
				echo "eppic.so: failed to pull eppic code from git repo"; \
			fi; \
		else \
			echo "eppic.so: build failed: requires the crash $(GDB) module"; \
		fi ;\
	else \
		echo "eppic.so: build failed: requires /usr/bin/flex and /usr/bin/bison"; \
	fi

lib-eppic: 
	cd eppic/libeppic && make

eppic.so: ../defs.h $(APPFILE) lib-eppic
	gcc -g -O0 -Ieppic/libeppic -I.. -nostartfiles -shared -rdynamic -o eppic.so $(APPFILE) -fPIC $(TARGET_FLAGS) $(GDB_FLAGS) -Leppic/libeppic -leppic

clean:
	if  [ -d eppic/libeppic ]; \
	then \
		cd eppic/libeppic && make -i clean; \
	fi
	rm -f eppic.so