
CC = gcc
CFLAGS ?= -Wall -O2
CPPFLAGS ?=
OBJECTS = s51dude.o ihex.o usbtiny.o parse_params.o parts.o
INCLUDES = ihex.h parts.h s51dude.h usbtiny.h
LDFLAGS += -lusb

# prefix for installing the binaries
DESTDIR ?=
PREFIX ?=/usr

# Default version
VERSION=devel

# Path where to install locale files:
LOCALEPATH = $(DESTDIR)/$(PREFIX)/share/locale
CDEFINES = -DLOCALEDIR=\"$(LOCALEPATH)\"

# run make DEBUG=1 to enable the -g CFLAG
ifdef DEBUG
	CFLAGS += -g
endif

# run make V=1 to enable verbose output
ifneq ($(V), 1)
	NICE_CC = @echo "  CC  $@"; $(CC)
else
	NICE_CC = $(CC)
endif

all: s51dude

s51dude: $(OBJECTS)
	$(NICE_CC) -o s51dude $(OBJECTS) $(LDFLAGS) $(LIBS)

#.SUFFIXES: .c .o
%.o: %.c $(INCLUDES)
	$(NICE_CC) -o $@ -c $(CDEFINES) $(CFLAGS) $(CPPFLAGS) $< $(INCFLAGS)

install-bin: s51dude
	install -d $(DESTDIR)/$(PREFIX)/bin
	install -m 0755 s51dude $(DESTDIR)/$(PREFIX)/bin

install-man:
	install -d $(DESTDIR)/$(PREFIX)/share/man/man1
	install -m 0644 s51dude.1 $(DESTDIR)/$(PREFIX)/share/man/man1/

install-mo:
	make -C po/ LOCALEPATH=$(LOCALEPATH) install

install: install-bin install-man install-mo

clean:
	rm -f $(OBJECTS) s51dude
	make -C po/ clean

default: all

# Create upstream tar.gz
archive:
	hg archive -X ".hg*" -t tbz2 s51dude-$(VERSION).tar.bz2

.PHONY: default all clean install-bin install-man install
