WebSurf/frontends/gnustep/Makefile

145 lines
4.0 KiB
Makefile
Raw Normal View History

2020-11-12 11:21:03 -08:00
# ----------------------------------------------------------------------------
# Mac OS X target setup
# ----------------------------------------------------------------------------
2022-09-17 13:31:50 -07:00
POSTEXES += WebSurf.app
2020-11-12 11:21:03 -08:00
EXETARGET := nscocoa
2021-02-04 11:10:05 -08:00
SDK_CFLAGS := $(shell gnustep-config --objc-flags)
SDK_LDFLAGS := $(shell gnustep-config --gui-libs)
CFLAGS := $(SDK_CFLAGS) $(CFLAGS)
2020-11-12 11:21:03 -08:00
CFLAGS += -I/usr/local/include/gnustep
CFLAGS += -Ifrontends/gnustep
2021-02-04 11:10:05 -08:00
LDFLAGS := $(SDK_LDFLAGS) $(LDFLAGS)
CXXFLAGS := $(SDK_CFLAGS) $(CXXFLAGS)
2020-11-12 11:21:03 -08:00
CFLAGS += -g
2021-02-04 11:10:05 -08:00
# GCC has no -fno-objc-arc
ifeq ($(shell $(CC) -v 2>&1 | grep -c "gcc version"), 1)
CFLAGS += -fno-objc-gc
else
2020-11-12 12:33:07 -08:00
CFLAGS += -fno-objc-arc
2021-02-04 11:10:05 -08:00
endif
2020-11-12 11:21:03 -08:00
LDFLAGS += -L/usr/lib
LDFLAGS += -L/usr/X11/lib
LDFLAGS += -lm -lcurl
LDFLAGS += -lssl -lcrypto
CFLAGS += -Dnscocoa -D_BSD_SOURCE -D_POSIX_C_SOURCE -std=c99 -g -Os
CFLAGS += -DFONT_SIZE_SCALE=1.0
CFLAGS += -I/usr/X11/include
VERSION_FULL := $(shell sed -n '/_version.*=.*"/{s/.*"\(.*\)".*/\1/;p;}' desktop/version.c)
VERSION_MAJ := $(shell sed -n '/_major/{s/.* = \([0-9]*\).*/\1/;p;}' desktop/version.c)
VERSION_MIN := $(shell sed -n '/_minor/{s/.* = \([0-9]*\).*/\1/;p;}' desktop/version.c)
# ----------------------------------------------------------------------------
# Source file setup
# ----------------------------------------------------------------------------
# sources purely for the Mac OS X build
S_FRONTEND := \
AppDelegate.m \
BrowserWindowController.m \
2020-12-08 12:25:10 -08:00
DownloadsWindowController.m \
2020-12-09 12:18:22 -08:00
DownloadManager.m \
2020-11-14 13:45:05 -08:00
PlotView.m \
NetsurfCallback.m \
ProgressBarCell.m \
FindPanelController.m \
2020-12-19 13:45:08 -08:00
HistoryWindowController.m \
BookmarksWindowController.m \
CreateBookmarkPanelController.m \
2021-01-25 12:06:57 -08:00
PreferencesWindowController.m \
2021-03-04 12:00:54 -08:00
VerticalTabsView.m \
2021-03-22 13:04:22 -07:00
UrlSuggestionView.m \
NotifyingTextField.m \
Website.m \
BookmarkFolder.m \
SearchProvider.m \
Preferences.m \
tables/misc.m \
tables/bitmap.m \
tables/clipboard.m \
tables/download.m \
tables/fetch.m \
tables/search.m \
tables/window.m \
tables/font.m \
2020-11-12 11:21:03 -08:00
# This is the final source build list
# Note this is deliberately *not* expanded here as common and image
# are not yet available
SOURCES = $(addprefix $(shell pwd)/,$(S_COMMON) $(S_IMAGE) $(S_BROWSER) $(S_FRONTEND))
# Since we prefix the sources with the pwd, also create a special
# prefixed rule so that the testament is run
2021-06-10 12:27:36 -07:00
$(shell pwd)/content/fetchers/about/about.c: testament
2020-11-12 11:21:03 -08:00
2022-09-17 13:31:50 -07:00
EXETARGET := WebSurf
2020-11-12 11:21:03 -08:00
R_RESOURCES := \
Menu.gorm \
Browser.gorm \
2020-12-08 12:25:10 -08:00
Downloads.gorm \
Find.gorm \
2020-12-19 13:45:08 -08:00
History.gorm \
Bookmarks.gorm \
CreateBookmark.gorm \
2021-01-25 12:06:57 -08:00
Preferences.gorm \
Languages.plist \
2022-09-17 10:34:22 -07:00
*.tiff
2020-11-12 11:21:03 -08:00
R_RESOURCES := $(addprefix $(FRONTEND_RESOURCES_DIR)/,$(R_RESOURCES))
2020-12-03 12:05:46 -08:00
E_RESOURCES := \
adblock.css \
ca-bundle \
default.css \
internal.css \
quirks.css \
SearchEngines \
2020-12-03 12:05:46 -08:00
E_RESOURCES := $(addprefix resources/,$(E_RESOURCES))
2020-11-12 11:21:03 -08:00
LANGUAGES := en
LOCALIZED_RESOURCES := Localizable.strings
# ----------------------------------------------------------------------------
# Install target
# ----------------------------------------------------------------------------
2022-09-17 13:31:50 -07:00
install-cocoa: WebSurf.app
2020-11-12 11:21:03 -08:00
2022-09-17 13:31:50 -07:00
WebSurf.app: WebSurf $(FRONTEND_SOURCE_DIR)/Makefile $(R_RESOURCES) WebSurf.app/Resources/Info-gnustep.plist
$(VQ)echo Assembling WebSurf.app bundle
$(Q)cp WebSurf WebSurf.app/
$(Q)mkdir -p WebSurf.app/Resources
$(Q)cp -pLR $(R_RESOURCES) WebSurf.app/Resources
$(Q)cp -pLR $(E_RESOURCES) WebSurf.app/
2020-11-12 11:21:03 -08:00
2022-09-17 13:31:50 -07:00
WebSurf.app/Resources/Info-gnustep.plist: $(FRONTEND_RESOURCES_DIR)/WebSurf-Info.plist $(FRONTEND_SOURCE_DIR)/Makefile
2020-11-12 11:21:03 -08:00
$(VQ)echo Generating Info.plist
2022-09-17 13:31:50 -07:00
$(Q)rm -rf WebSurf.app/Resources
$(Q)mkdir -p WebSurf.app/Resources
2020-11-12 11:21:03 -08:00
$(Q)sed -e 's/$${EXECUTABLE_NAME}/$(EXETARGET)/' \
-e 's/$${PRODUCT_NAME.*}/$(EXETARGET)/' \
-e 's/$${MACOSX_DEPLOYMENT_TARGET}/$(MACOSX_VERSION)/' \
-e 's/$${NETSURF_VERSION}/$(VERSION_FULL)/' \
-e 's/$${NETSURF_SHORT_VERSION}/$(VERSION_MAJ).$(VERSION_MIN)/' \
2022-09-17 13:31:50 -07:00
< $(FRONTEND_RESOURCES_DIR)/WebSurf-Info.plist > WebSurf.app/Resources/Info-gnustep.plist
2020-11-12 11:21:03 -08:00
CLEANS += clean-package-cocoa
clean-package-cocoa:
2022-09-17 13:31:50 -07:00
$(VQ)echo " CLEAN: WebSurf.app"
$(Q)$(RM) -r WebSurf.app