# This makefile is set up for GNU-make

include ../makedefs

CFLAGS = -O -Wall
INC    = ../include
LIB    = ../$(LIBDIR)/$(LIBBCC)
ifndef Linux
RM     = call ..\bin\rm.bat
endif

.c.o:
	$(CC) $(CFLAGS) -I$(INC) -I./addons -c $*.c -o $*.o


SRC    = $(wildcard *.c)
OBJ    = $(subst .c,.o,$(SRC))
SEXE   = $(subst .c,,$(SRC))
XEXE   = $(SEXE:%=x%)
DEXE   = $(subst .c,.exe,$(SRC))

ifdef Linux
EXE    = $(SEXE) $(XEXE)
else
EXE    = $(SEXE) $(DEXE)
endif

all: $(EXE)

link: cleanexe all

$(OBJ): %.o: %.c

$(DEXE): %.exe: % $(LIB) addon.a
	coff2exe $*

$(SEXE): %: %.o $(LIB) addon.a
	$(CC) $(CFLAGS) $*.o addon.a $(LIB) $(LGRX) -lm -o $*

$(XEXE): x%: %.o $(LIB) addon.a
	$(CC) $(CFLAGS) $*.o addon.a $(LIB) $(XGRX) -lm -o x$*

clean: cleanexe
	$(RM) *.o addon.a
ifdef Linux
	$(RM) addons/*.o
else
	$(RM) addons\*.o
endif

cleanexe:
	$(RM) $(SEXE)
	$(RM) $(DEXE)
	$(RM) $(XEXE)

cleanall: clean

ADDON_SRC = $(wildcard addons/*.c)
ADDON_OBJ = $(subst .c,.o,$(ADDON_SRC))

$(ADDON_OBJ): %.o: %.c

addon.a: $(ADDON_OBJ)
	$(RM) addon.a
	ar rvs addon.a $(ADDON_OBJ)
