# Make environment for making samples on Unix

# The binary program extension, if any, including dots (e.g. '.exe')
PROGRAM_EXT = @PROGRAM_EXT@
BIN_PROGRAM = $(PROGRAM)$(PROGRAM_EXT)
RES_PROGRAM_OBJ = @RESPROGRAMOBJ@
BUNDLE = $(BIN_PROGRAM).app/Contents

# NB: see remark in Makefile.in as to why we don't use %.foo: %.bar rules
.SUFFIXES: .o .c .cpp .cxx .rc _resources.o

.c.o:
	$(CC) -c $(CFLAGS) $(APPEXTRADEFS) -o $@ $<

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $<

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $<

.rc_resources.o:
	$(RESCOMP) -i $< -o $@ $(RESFLAGS)


# the comment at the end of the next line is needed because otherwise autoconf
# would remove this line completely - it contains a built-in hack to remove
# any VPATH assignment not containing ':'
VPATH = @PATH_IFS@$(top_srcdir)/$(program_dir) # ':' for autoconf

# Set defaults from configure
include $(top_builddir)/src/make.env

all:    $(BIN_PROGRAM) @MACOSX_BUNDLE@ install_dirs install_data

$(BIN_PROGRAM):	$(OBJECTS) $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(RES_PROGRAM_OBJ) @LIBWXMACRES@
	$(CXX) $(LDFLAGS_EXE) -o $@ $(OBJECTS) $(LDLIBS) $(LIBRARIES) $(RES_PROGRAM_OBJ)
	@LIBWXMACRESCOMP@

install_dirs:
	@list='$(DATADIRS)'; for p in $$list; do \
	  mkdir -p $(top_builddir)/$(program_dir)/$$p; \
	done

install_data:
	@list='$(DATAFILES)'; for p in $$list; do \
	  if test ! -s $(top_builddir)/$(program_dir)/$$p; then \
	     cp -pRf $(top_srcdir)/$(program_dir)/$$p $(top_builddir)/$(program_dir)/$$p; \
	  fi; \
	done

clean:
	rm -f $(OBJECTS) $(DEPFILES) $(BIN_PROGRAM) $(RES_PROGRAM_OBJ) core

#
# Targets to build a Mac OS X application bundle
#
bundle: $(BUNDLE)/MacOS/$(PROGRAM) $(BUNDLE)/Info.plist $(BUNDLE)/PkgInfo $(BUNDLE)/Resources/$(PROGRAM).rsrc $(BUNDLE)/Resources/wxmac.icns

$(BUNDLE)/Info.plist: $(top_srcdir)/src/$(TOOLKITDIR)/Info.plist.in $(top_builddir)/lib/@WX_TARGET_LIBRARY@
	@$(INSTALL) -d `dirname $@`
	sed -e "s/IDENTIFIER/`echo $(program_dir) | sed 's,/,.,g'`/" \
	    -e "s/EXECUTABLE/$(PROGRAM)/" \
	    -e "s/VERSION/$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).$(WX_RELEASE_NUMBER)/" $< > $@

$(BUNDLE)/PkgInfo:
	@$(INSTALL) -d `dirname $@`
	echo -n "APPL????" > $@

$(BUNDLE)/MacOS/$(PROGRAM): $(OBJECTS) $(top_builddir)/lib/@WX_TARGET_LIBRARY@
	@$(INSTALL) -d `dirname $@`
	$(CXX) $(LDFLAGS_EXE) -o $@ $(OBJECTS) $(LDLIBS) $(LIBRARIES)

$(BUNDLE)/Resources/$(PROGRAM).rsrc: $(top_builddir)/lib/@WX_RESOURCES_MACOSX_DATA@
	@$(INSTALL) -d `dirname $@`
	cp $< $@

$(BUNDLE)/Resources/wxmac.icns: $(top_srcdir)/src/$(TOOLKITDIR)/wxmac.icns
	@$(INSTALL) -d `dirname $@`
	cp $< $@
