# Clears all default suffixes
.SUFFIXES: .o .cpp .c .cxx
+# The binary program extension, if any, including dots (e.g. '.exe')
+PROGRAM_EXT = @PROGRAM_EXT@
+BIN_PROGRAM = $(PROGRAM)$(PROGRAM_EXT)
+RES_PROGRAM = $(PROGRAM)_resources.o
+RES_PROGRAM_OPT = @RESPROGRAM@
+
+# To add resources to the Mac OS X applications
+LIBWX_MACRES = $(top_builddir)/lib/lib@WX_LIBRARY@-$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).r
+LIBWX_MACRESCOMP = $(RESCOMP) $(RESFLAGS) $(LIBWX_MACRES) -o $(BIN_PROGRAM)
+
.c.o :
- $(CCC) -c $(CFLAGS) -o $@ $<
+ $(CCC) -c @DEP_INFO_FLAGS@ $(CFLAGS) $(APPEXTRADEFS) -o $@ $<
.cpp.o :
- $(CC) -c $(CPPFLAGS) -o $@ $<
+ $(CC) -c @DEP_INFO_FLAGS@ $(CPPFLAGS) $(APPEXTRADEFS) -o $@ $<
.cxx.o :
- $(CC) -c $(CPPFLAGS) -o $@ $<
+ $(CC) -c @DEP_INFO_FLAGS@ $(CPPFLAGS) $(APPEXTRADEFS) -o $@ $<
+
+# 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: $(PROGRAM)
+all: $(BIN_PROGRAM) install_dirs install_data
+
+$(BIN_PROGRAM): $(OBJECTS) $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(RES_PROGRAM_OPT) @LIBWXMACRES@
+ $(CC) $(LDFLAGS) -o $(BIN_PROGRAM) $(OBJECTS) $(LDLIBS) $(LIBRARIES) $(RES_PROGRAM_OPT)
+ @LIBWXMACRESCOMP@
+
+$(RES_PROGRAM): $(PROGRAM).rc
+ $(RESCOMP) $(RCINPUTSWITCH) $(top_srcdir)/$(program_dir)/$(PROGRAM).rc $(RCOUTPUTSWITCH) $(PROGRAM)_resources.o $(RESFLAGS)
-$(PROGRAM): $(OBJECTS) $(top_builddir)/lib/@WX_TARGET_LIBRARY@
- $(CC) $(LDFLAGS) -o $(PROGRAM) $(OBJECTS) $(LDLIBS)
+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) $(PROGRAM) core
+ rm -f $(OBJECTS) $(BIN_PROGRAM) $(RES_PROGRAM) core