mspdebug/Makefile

132 lines
2.9 KiB
Makefile

# MSPDebug - debugging tool for the eZ430
# Copyright (C) 2009, 2010 Daniel Beer
# Copyright (C) 2010 Andrew Armenia
#
# 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.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
CC ?= gcc
INSTALL = /usr/bin/install
PREFIX ?= /usr/local
LDFLAGS ?= -s
ifdef WITHOUT_READLINE
READLINE_CFLAGS =
READLINE_LIBS =
else
READLINE_CFLAGS = -DUSE_READLINE
READLINE_LIBS = -lreadline
endif
UNAME := $(shell sh -c 'uname -s')
ifeq ($(UNAME),Darwin) # Mac OS X/MacPorts stuff
PORTS_CFLAGS = -I/opt/local/include
PORTS_LDFLAGS = -L/opt/local/lib
else
ifeq ($(UNAME),OpenBSD) # OpenBSD Ports stuff
PORTS_CFLAGS = `pkg-config --cflags libusb`
PORTS_LDFLAGS = `pkg-config --libs libusb` -ltermcap
else
PORTS_CFLAGS =
PORTS_LDFLAGS =
endif
endif
ifeq ($(OS),Windows_NT)
WIN32_LIBS = -lws2_32 -lregex
BINARY = mspdebug.exe
else
WIN32_LIBS =
BINARY = mspdebug
endif
INCLUDES = -I. -Isimio
GCC_CFLAGS = -O1 -Wall -Wno-char-subscripts -ggdb $(INCLUDES)
MSPDEBUG_LDFLAGS = $(LDFLAGS) $(PORTS_LDFLAGS)
MSPDEBUG_LIBS = -lusb $(READLINE_LIBS) $(WIN32_LIBS)
MSPDEBUG_CFLAGS = $(CFLAGS) $(READLINE_CFLAGS) $(PORTS_CFLAGS) $(GCC_CFLAGS)
all: $(BINARY)
clean:
rm -f *.o
rm -f */*.o
rm -f $(BINARY)
install: $(BINARY) mspdebug.man
mkdir -p $(DESTDIR)$(PREFIX)/bin
mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1
$(INSTALL) -m 0755 $(BINARY) $(DESTDIR)$(PREFIX)/bin/mspdebug
$(INSTALL) -m 0644 mspdebug.man \
$(DESTDIR)$(PREFIX)/share/man/man1/mspdebug.1
.SUFFIXES: .c .o
OBJ=\
main.o \
fet.o \
rf2500.o \
dis.o \
uif.o \
olimex.o \
ihex.o \
elf32.o \
stab.o \
util.o \
bsl.o \
sim.o \
symmap.o \
gdb.o \
btree.o \
rtools.o \
sym.o \
devcmd.o \
reader.o \
vector.o \
output_util.o \
expr.o \
fet_error.o \
binfile.o \
fet_db.o \
usbutil.o \
titext.o \
srec.o \
device.o \
coff.o \
opdb.o \
output.o \
cmddb.o \
stdcmd.o \
prog.o \
flash_bsl.o \
list.o \
simio/simio.o \
simio/simio_tracer.o \
simio/simio_timer.o \
simio/simio_wdt.o \
simio/simio_hwmult.o \
simio/simio_gpio.o \
aliasdb.o \
gdb_proto.o \
gdbc.o \
sport.o \
sockets.o \
$(BINARY): $(OBJ)
$(CC) $(MSPDEBUG_LDFLAGS) -o $@ $^ $(MSPDEBUG_LIBS)
.c.o:
$(CC) $(MSPDEBUG_CFLAGS) -o $@ -c $*.c