main-win/main-win-sound.cpp main-win/main-win-sound.h \
main-win/main-win-tokenizer.cpp main-win/main-win-tokenizer.h \
main-win/main-win-windows.h \
- makefile.bcc makefile.std term/readdib.cpp term/readdib.h wall.bmp \
+ main-cap.cpp main-xaw.cpp \
+ term/readdib.cpp term/readdib.h wall.bmp \
stdafx.cpp stdafx.h
+cocoa_xcode_files = \
+ cocoa/AppDelegate.m \
+ cocoa/Base.lproj/MainMenu.xib
+cocoa_icon_files = \
+ cocoa/hengband_Icons.icns \
+ cocoa/Save.icns \
+ cocoa/Edit.icns \
+ cocoa/Data.icns
+cocoa_plist_template = cocoa/Angband-Cocoa.xml
+cocoa_plist_strings_template = cocoa/Angband-Cocoa.strings
+cocoa_plist_files = \
+ cocoa/CommandMenu.plist
+cocoa_en_nib_files = \
+ cocoa/Base.lproj/MainMenu.nib
+cocoa_en_strings_files = \
+ cocoa/en.lproj/Localizable.strings \
+ cocoa/en.lproj/CommandMenu.strings \
+ cocoa/en.lproj/GraphicsMenu.strings
+cocoa_ja_strings_files = \
+ cocoa/ja.lproj/MainMenu.strings \
+ cocoa/ja.lproj/Localizable.strings \
+ cocoa/ja.lproj/CommandMenu.strings \
+ cocoa/ja.lproj/GraphicsMenu.strings
+
EXTRA_DIST = \
- gcc-wrap
+ gcc-wrap \
+ $(cocoa_xcode_files) \
+ $(cocoa_icon_files) \
+ $(cocoa_plist_template) \
+ $(cocoa_plist_strings_template) \
+ $(cocoa_plist_files) \
+ $(cocoa_en_nib_files) \
+ $(cocoa_en_strings_files) \
+ $(cocoa_ja_strings_files)
+
+if COCOA
+hengband_SOURCES += \
+ main-cocoa.mm \
+ system/grafmode.h \
+ system/grafmode.cpp \
+ cocoa/AppDelegate.h
+AM_CFLAGS = -mmacosx-version-min=10.14 -Wunguarded-availability
+AM_OBJCXXFLAGS = -std=c++17 -fobjc-arc -mmacosx-version-min=10.14 -Wunguarded-availability -stdlib=libc++
+AM_CXXFLAGS = -std=c++17 -mmacosx-version-min=10.14 -Wunguarded-availability -stdlib=libc++
+hengband_LDFLAGS = -framework cocoa $(AM_LDFLAGS)
+hengband_LINK = MACOSX_DEPLOYMENT_TARGET=10.14 $(OBJCXXLINK) $(hengband_LDFLAGS) $(LDFLAGS) -o $@
+APPNAME = $(PACKAGE_NAME)
+APPEXE = hengband
+APPDIR = $(APPNAME).app
+BUNDLE_IDENTIFIER = jp.osdn.hengband
+BUNDLE_VERSION = $(PACKAGE_VERSION)
+BUNDLE_DISPLAY_NAME = $(APPNAME)
+BUNDLE_NAME = $(BUNDLE_DISPLAY_NAME)
+BUNDLE_DISPLAY_NAME_JA = 変愚蛮怒
+BUNDLE_NAME_JA = $(BUNDLE_DISPLAY_NAME_JA)
+# Be careful with characters (like '&') in the copyright that have special
+# meanings to sed.
+COPYRIGHT = Copyright © Mr. Hoge and many others
+# For now, using the line that appears in news_j.txt. Is that appropriate?
+# The ampersand is a kanji so it doesn't seem to be treated as a special
+# character by sed.
+COPYRIGHT_JA = Mr.hoge (echizen@users.sourceforge.jp) & 多くの方々
+APPBNDL = $(bindir)/$(APPDIR)
+APPCONT = $(APPBNDL)/Contents
+APPBIN = $(APPCONT)/MacOS
+APPRES = $(APPCONT)/Resources
+appbin_PROGRAMS = $(APPEXE)
+appbindir = $(APPBIN)
+dist_appicon_DATA = $(cocoa_icon_files)
+appicondir = $(APPRES)
+appplist_DATA = $(cocoa_plist_files)
+appplistdir = $(APPRES)
+appennib_DATA = $(cocoa_en_nib_files)
+appennibdir = $(APPRES)/Base.lproj
+appen_DATA = $(cocoa_en_strings_files)
+appendir = $(APPRES)/en.lproj
+appja_DATA = $(cocoa_ja_strings_files)
+appjadir = $(APPRES)/ja.lproj
+MD5SUM=md5
+else
+EXTRA_hengband_SOURCES += main-cocoa.mm system/grafmode.h system/grafmode.cpp \
+ cocoa/AppDelegate.h
+hengband_LINK = $(CXXLINK)
+MD5SUM=md5sum
+endif
DEFAULT_INCLUDES = -I$(srcdir) -I$(top_builddir)/src
CPPFLAGS += $(XFT_CFLAGS) $(libcurl_CFLAGS)
#define DEFAULT_X11_FONT_5 DEFAULT_X11_FONT_SUB
#define DEFAULT_X11_FONT_6 DEFAULT_X11_FONT_SUB
#define DEFAULT_X11_FONT_7 DEFAULT_X11_FONT_SUB
- #else
- /*
- * OPTION: Default font (when using X11).
- */
- #define DEFAULT_X11_FONT "9x15"
-
- /*
- * OPTION: Default fonts (when using X11)
- */
- #define DEFAULT_X11_FONT_0 "10x20"
- #define DEFAULT_X11_FONT_1 "9x15"
- #define DEFAULT_X11_FONT_2 "9x15"
- #define DEFAULT_X11_FONT_3 "5x8"
- #define DEFAULT_X11_FONT_4 "5x8"
- #define DEFAULT_X11_FONT_5 "5x8"
- #define DEFAULT_X11_FONT_6 "5x8"
- #define DEFAULT_X11_FONT_7 "5x8"
- #endif
-
+
+/*
+ * Hack -- Mach-O (native binary format of OS X) is basically a Un*x
+ * but has Mac OS/Windows-like user interface. Disabling the Un*x-like
+ * behavior (PRIVATE_USER_PATH, SAVEFILE_USE_UID) for the modern Mac OS X
+ * interface (MACH_O_COCOA).
+ */
+#if defined(MACH_O_CARBON) || defined(MACH_O_COCOA)
+# ifdef PRIVATE_USER_PATH
+# undef PRIVATE_USER_PATH
+# endif
+# ifdef SAVEFILE_USE_UID
+# undef SAVEFILE_USE_UID
+# endif
+#endif