X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3283290881daec2a6d81caaa36ecae1064a67051..6b6fc9b0a0d9bb3f85875bc356a8d9a256c7baed:/src/makeprog.env.in diff --git a/src/makeprog.env.in b/src/makeprog.env.in index 8e64d3f9db..1b2d8aebd5 100644 --- a/src/makeprog.env.in +++ b/src/makeprog.env.in @@ -1,22 +1,23 @@ # Make environment for making samples on Unix -# 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@ +RES_PROGRAM_OBJ = @RESPROGRAMOBJ@ +BUNDLE = $(BIN_PROGRAM).app/Contents + +%.o : %.c + $(CC) -c $(CFLAGS) $(APPEXTRADEFS) -o $@ $< + +%.o : %.cpp + $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< -.c.o : - $(CCC) -c $(CFLAGS) -o $@ $< +%.o : %.cxx + $(CXX) -c $(CXXFLAGS) $(APPEXTRADEFS) -o $@ $< -.cpp.o : - $(CC) -c $(CPPFLAGS) -o $@ $< +%_resources.o : %.rc + $(RESCOMP) -i $< -o $@ $(RESFLAGS) -.cxx.o : - $(CC) -c $(CPPFLAGS) -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 @@ -26,19 +27,17 @@ VPATH = @PATH_IFS@$(top_srcdir)/$(program_dir) # ':' for autoconf # Set defaults from configure include $(top_builddir)/src/make.env -all: $(BIN_PROGRAM) install_dirs install_data +all: $(BIN_PROGRAM) @MACOSX_BUNDLE@ 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) +$(BIN_PROGRAM): $(OBJECTS) $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(RES_PROGRAM_OBJ) @LIBWXMACRES@ + $(CXX) $(LDFLAGS_EXE) -o $(BIN_PROGRAM) $(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 \ @@ -47,4 +46,31 @@ install_data: done clean: - rm -f $(OBJECTS) $(BIN_PROGRAM) $(RES_PROGRAM) core + rm -f $(OBJECTS) $(DEPFILES) $(BIN_PROGRAM) $(RES_PROGRAM_OBJ) core + +# +# Targets to build a Mac OS X application bundle +# +bundle: $(BUNDLE)/Info.plist $(BUNDLE)/PkgInfo $(BUNDLE)/MacOS/$(PROGRAM) $(BUNDLE)/Resources/$(PROGRAM).rsrc $(BUNDLE)/Resources/$(PROGRAM).icns + +$(BUNDLE)/Info.plist: $(top_srcdir)/src/$(TOOLKITDIR)/Info.plist.in $(BIN_PROGRAM) + @$(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): $(BIN_PROGRAM) + @$(INSTALL) -d `dirname $@` + cp $< $@ + +$(BUNDLE)/Resources/$(PROGRAM).rsrc: $(top_builddir)/lib/@WX_RESOURCES_MACOSX@ + @$(INSTALL) -d `dirname $@` + cp $< $@ + +$(BUNDLE)/Resources/$(PROGRAM).icns: $(top_srcdir)/src/$(TOOLKITDIR)/wxmac.icns + @$(INSTALL) -d `dirname $@` + cp $< $@