Blame extensions/eppic.mk

Packit bf408e
#
Packit bf408e
# This program is free software; you can redistribute it and/or modify
Packit bf408e
# it under the terms of the GNU General Public License as published by
Packit bf408e
# the Free Software Foundation; either version 2 of the License, or
Packit bf408e
# (at your option) any later version.
Packit bf408e
#
Packit bf408e
# This program is distributed in the hope that it will be useful,
Packit bf408e
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit bf408e
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit bf408e
# GNU General Public License for more details.
Packit bf408e
Packit bf408e
TARGET_FLAGS = -D$(TARGET)
Packit bf408e
ifeq ($(TARGET), PPC64)
Packit bf408e
        TARGET_FLAGS += -m64
Packit bf408e
endif
Packit bf408e
ifeq ($(TARGET), ARM)
Packit bf408e
        TARGET_FLAGS += -m32
Packit bf408e
endif
Packit bf408e
ifeq ($(TARGET), MIPS)
Packit bf408e
        TARGET_FLAGS += -m32
Packit bf408e
endif
Packit bf408e
ifeq ($(TARGET), X86)
Packit bf408e
        TARGET_FLAGS += -m32
Packit bf408e
endif
Packit bf408e
Packit bf408e
APPFILE=eppic/applications/crash/eppic.c
Packit bf408e
GITHUB := $(shell ping -c 1 github.com | grep "1 received")
Packit bf408e
GIT := $(shell which git 2> /dev/null)
Packit bf408e
Packit bf408e
all:
Packit bf408e
	@if [ -f /usr/bin/flex ] && [ -f /usr/bin/bison ]; then \
Packit bf408e
	  if [ -f ../$(GDB)/crash.target ]; \
Packit bf408e
        then \
Packit bf408e
        if  [ ! -f $(APPFILE) ]; \
Packit bf408e
        then \
Packit bf408e
          if [ -f "$(GIT)" ]; \
Packit bf408e
          then \
Packit bf408e
             if [ -n "$(EPPIC_GIT_URL)" ]; then \
Packit bf408e
               git clone "$(EPPIC_GIT_URL)" eppic; \
Packit bf408e
             else \
Packit bf408e
	          if [ -n "$(GITHUB)" ] ; then \
Packit bf408e
		    git clone https://github.com/lucchouina/eppic.git eppic; \
Packit bf408e
	          fi; \
Packit bf408e
             fi; \
Packit bf408e
          else \
Packit bf408e
	     if [ ! -f "$(GIT)" ]; then \
Packit bf408e
	         echo "eppic.so: git command is needed for pulling eppic extension code"; \
Packit bf408e
	     fi; \
Packit bf408e
          fi; \
Packit bf408e
        fi; \
Packit bf408e
        if  [ -f $(APPFILE) ]; \
Packit bf408e
        then \
Packit bf408e
	        make -f eppic.mk eppic.so; \
Packit bf408e
        else \
Packit bf408e
            echo "eppic.so: failed to pull eppic code from git repo"; \
Packit bf408e
        fi; \
Packit bf408e
      else \
Packit bf408e
	    echo "eppic.so: build failed: requires the crash $(GDB) module"; \
Packit bf408e
      fi ;\
Packit bf408e
	else \
Packit bf408e
	  echo "eppic.so: build failed: requires /usr/bin/flex and /usr/bin/bison"; \
Packit bf408e
    fi
Packit bf408e
Packit bf408e
lib-eppic: 
Packit bf408e
	cd eppic/libeppic && make
Packit bf408e
            
Packit bf408e
eppic.so: ../defs.h $(APPFILE) lib-eppic
Packit bf408e
	gcc -g -Ieppic/libeppic -I../$(GDB)/gdb -I../$(GDB)/bfd -I../$(GDB)/include -I../$(GDB)/gdb/config -I../$(GDB)/gdb/common -I../$(GDB) -nostartfiles -shared -rdynamic -o eppic.so $(APPFILE) -fPIC $(TARGET_FLAGS) $(GDB_FLAGS) -Leppic/libeppic -leppic 
Packit bf408e
Packit bf408e
clean:
Packit bf408e
	if  [ -d eppic/libeppic ]; \
Packit bf408e
	then \
Packit bf408e
	  cd eppic/libeppic && make -i clean; \
Packit bf408e
	fi
Packit bf408e
	rm -f eppic.so