#---------------------------------------
#     Makefile for the PS2IMG tool
#---------------------------------------
# ** This makefile requires GNU Make **
#---------------------------------------

# Uncomment to compile in debug mode
#MODE = debug

prefix=/usr/local
OUT=out/

CXX = gcc -c
CXXFLAGS = -Wall -fno-rtti -fno-exceptions $(INCLUDE)
INCLUDE = -Iinclude

LD = gcc
LDFLAGS =
LIBS = -lpng -lungif

ifeq ($(MODE),debug)
CXXFLAGS += -g
LDFLAGS += -g
else
CXXFLAGS += -s -O3 -fomit-frame-pointer
LDFLAGS += -s
endif

MAKEDEP = makedep -D__i386__ -p'$$(OUT)' $(INCLUDE)

vpath %.cpp libs

all: $(OUT) ps2img

install: all
	install -m 0755 ps2img $(prefix)/bin
	install -m 0644 ps2img.1 $(prefix)/man/man1

clean:
	rm -rf out ps2img

dep:
	$(MAKEDEP) *.cpp libs/*.cpp

$(OUT):
	mkdir $(OUT:/=)

ps2img: $(OUT)ps2img.o $(OUT)image.o $(OUT)quantize.o \
        $(OUT)invcmap.o $(OUT)syslib.o
	$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)

$(OUT)%.o: %.cpp
	$(CXX) $(CXXFLAGS) -o $@ $<

# DO NOT DELETE this line -- makedep depends on it!

$(OUT)ps2img.o: include/rgbpixel.h include/image.h include/syslib.h
$(OUT)libs/image.o: include/sysdefs.h include/image.h include/rgbpixel.h \
  include/quantize.h
$(OUT)libs/invcmap.o: include/sysdefs.h include/invcmap.h include/rgbpixel.h
$(OUT)libs/quantize.o: include/sysdefs.h include/invcmap.h include/rgbpixel.h \
  include/quantize.h
$(OUT)libs/syslib.o: include/sysdefs.h include/syslib.h