X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/549c6f67f9181e3ad8abfffa8c0c6cdd7ec49e5a..437a79a631586ff7f25558abfcdecbad22d9864b:/src/makeprog.env.in diff --git a/src/makeprog.env.in b/src/makeprog.env.in index f3b63f6e11..9ee384b814 100644 --- a/src/makeprog.env.in +++ b/src/makeprog.env.in @@ -3,22 +3,48 @@ # 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@ + .c.o : - $(CCC) -c $(CFLAGS) -o $@ $< + $(CCC) -c $(CFLAGS) $(APPEXTRADEFS) -o $@ $< .cpp.o : - $(CC) -c $(CPPFLAGS) -o $@ $< + $(CC) -c $(CPPFLAGS) $(APPEXTRADEFS) -o $@ $< .cxx.o : - $(CC) -c $(CPPFLAGS) -o $@ $< + $(CC) -c $(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) + $(CC) $(LDFLAGS) -o $(BIN_PROGRAM) $(OBJECTS) $(LDLIBS) $(LIBRARIES) $(RES_PROGRAM_OPT) + +$(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