X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4e9fd9e259dbd4f63f73470a9074d4a7a770bef4..e7300ec6d9ebbd1cfa2fcf12c0ce6e5aee85a152:/src/makeprog.env.in?ds=inline

diff --git a/src/makeprog.env.in b/src/makeprog.env.in
index a875d3ee7b..5611fbf13c 100644
--- a/src/makeprog.env.in
+++ b/src/makeprog.env.in
@@ -1,20 +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_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
@@ -24,16 +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@
-	$(CC) $(LDFLAGS) -o $(BIN_PROGRAM) $(OBJECTS) $(LDLIBS)
+$(BIN_PROGRAM):	$(OBJECTS) $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(RES_PROGRAM_OBJ) @LIBWXMACRES@
+	$(CXX) $(LDFLAGS) -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 \
@@ -42,4 +46,31 @@ install_data:
 	done
 
 clean:
-	rm -f $(OBJECTS) $(BIN_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 $< $@