TARGET=ixalance
CC ?= gcc
CXX ?= g++
NASM ?= nasm
CFLAGS += -ffast-math -m32 $(shell sdl-config --cflags)
LDFLAGS += -m32 $(shell sdl-config --libs) -lmidas -lm
OBJ =  main.o  lzss.o unrle.o d32load.o code.o


RM_F = rm -f
INSTALL := install
INSTALL_DIR     := $(INSTALL) -p -d -m  755
INSTALL_PROGRAM := $(INSTALL) -p    -m  755

PREFIX          = /usr
EXEC_PREFIX     = $(PREFIX)
BINDIR          = $(EXEC_PREFIX)/bin

$(TARGET): $(OBJ)
	$(CXX) -o $@ $(OBJ) $(LDFLAGS)

%.o: %.asm
	$(NASM) -f elf32 -D M_TARGET_ELF $< -o $@

%.o: %.c
	$(CC) $(CFLAGS) -c $<

%.o: %.cpp
	$(CXX) $(CFLAGS) -c $<

clean:
	-@$(RM_F) *.o $(TARGET)

install: $(TARGET)
	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
	-@$(RM_F) $(DESTDIR)$(BINDIR)/$(TARGET)
	$(INSTALL_PROGRAM) $(TARGET) $(DESTDIR)$(BINDIR)
