#
# makefile - Main makefile for FindZOptim.exe
#
# Possible targets:
#   debug   - Debug version for MinGW
#   opt     - Optimized version for MinGW
#   opt_mac - Optimized version for MacOS

CD_LIN_DEB = -g -DDEBUG -DLinux
CD_LIN_OPT = -O2 -DLinux
CD_MAC_OPT = -O2

LD_LIN = -lm
LD_MAC = -lm

EXES = FindZOptim.exe
EXES_MAC = FindZOptim
OBJS = main.o file_io.o optimize.o
SRCS = main.c file_io.c optimize.c glob_str.h optdefs.h

debug: $(EXES)
	$(MAKE) -f make_obj CCOPTS='$(CD_LIN_DEB)'
	$(CC) $(CD_LIN_DEB) -o $(EXES) $(OBJS) $(LD_LIN)

opt: $(EXES)
	$(MAKE) -f make_obj CCOPTS='$(CD_LIN_OPT) $(CC_LIN)'
	$(CC) $(CD_LIN_OPT) -o $(EXES) $(OBJS) $(LD_LIN)

opt_mac: $(EXES_MAC)
	$(MAKE) -f make_obj CCOPTS='$(CD_MAC_OPT)'
	$(CC) $(CD_MAC_OPT) -o $(EXES_MAC) $(OBJS) $(LD_MAC)

FindZOptim.exe: $(SRCS)

FindZOptim: $(SRCS)

clean:
	rm -f *.o $(EXES) ${EXES_MAC}
