mirror of
https://github.com/Hydr8gon/NooDS.git
synced 2025-04-02 11:11:57 -04:00
109 lines
2.7 KiB
Makefile
109 lines
2.7 KiB
Makefile
NAME := noods
|
|
BUILD := build
|
|
SRCS := src src/common src/desktop
|
|
ARGS := -Ofast -flto -std=c++11 -DUSE_GL_CANVAS -DLOG_LEVEL=0
|
|
LIBS := $(shell pkg-config --libs portaudio-2.0)
|
|
INCS := $(shell pkg-config --cflags portaudio-2.0)
|
|
|
|
APPNAME := NooDS
|
|
PKGNAME := com.hydra.noods
|
|
DESTDIR ?= /usr
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
ARGS += -static -DWINDOWS
|
|
LIBS += $(shell wx-config-static --libs --gl-libs) -lole32 -lsetupapi -lwinmm
|
|
INCS += $(shell wx-config-static --cxxflags)
|
|
else
|
|
LIBS += $(shell wx-config --libs --gl-libs)
|
|
INCS += $(shell wx-config --cxxflags)
|
|
ifeq ($(shell uname -s),Darwin)
|
|
ARGS += -DMACOS
|
|
LIBS += -headerpad_max_install_names
|
|
else
|
|
ARGS += -no-pie
|
|
LIBS += -lGL
|
|
endif
|
|
endif
|
|
|
|
CPPFILES := $(foreach dir,$(SRCS),$(wildcard $(dir)/*.cpp))
|
|
HFILES := $(foreach dir,$(SRCS),$(wildcard $(dir)/*.h))
|
|
OFILES := $(patsubst %.cpp,$(BUILD)/%.o,$(CPPFILES))
|
|
|
|
ifeq ($(OS),Windows_NT)
|
|
OFILES += $(BUILD)/icon-windows.o
|
|
endif
|
|
|
|
all: $(NAME)
|
|
|
|
ifneq ($(OS),Windows_NT)
|
|
ifeq ($(uname -s),Darwin)
|
|
|
|
install: $(NAME)
|
|
./mac-bundle.sh
|
|
cp -r $(APPNAME).app /Applications/
|
|
|
|
uninstall:
|
|
rm -rf /Applications/$(APPNAME).app
|
|
|
|
else
|
|
|
|
flatpak:
|
|
flatpak-builder --repo=repo --force-clean build-flatpak $(PKGNAME).yml
|
|
flatpak build-bundle repo $(NAME).flatpak $(PKGNAME)
|
|
|
|
flatpak-clean:
|
|
rm -rf .flatpak-builder
|
|
rm -rf build-flatpak
|
|
rm -rf repo
|
|
rm -f $(NAME).flatpak
|
|
|
|
install: $(NAME)
|
|
install -Dm755 $(NAME) "$(DESTDIR)/bin/$(NAME)"
|
|
install -Dm644 $(PKGNAME).desktop "$(DESTDIR)/share/applications/$(PKGNAME).desktop"
|
|
install -Dm644 icon/icon-linux.png "$(DESTDIR)/share/icons/hicolor/64x64/apps/$(PKGNAME).png"
|
|
|
|
uninstall:
|
|
rm -f "$(DESTDIR)/bin/$(NAME)"
|
|
rm -f "$(DESTDIR)/share/applications/$(PKGNAME).desktop"
|
|
rm -f "$(DESTDIR)/share/icons/hicolor/64x64/apps/$(PKGNAME).png"
|
|
|
|
endif
|
|
endif
|
|
|
|
$(NAME): $(OFILES)
|
|
g++ -o $@ $(ARGS) $^ $(LIBS)
|
|
|
|
$(BUILD)/%.o: %.cpp $(HFILES) $(BUILD)
|
|
g++ -c -o $@ $(ARGS) $(INCS) $<
|
|
|
|
$(BUILD)/icon-windows.o:
|
|
windres $(shell wx-config-static --cppflags) icon/icon-windows.rc $@
|
|
|
|
$(BUILD):
|
|
for dir in $(SRCS); do mkdir -p $(BUILD)/$$dir; done
|
|
|
|
android-bundle:
|
|
git apply src/android/play-store.patch
|
|
./gradlew bundle
|
|
git apply -R src/android/play-store.patch
|
|
jarsigner -keystore keystore.jks -signedjar noods.aab build-android/outputs/bundle/release/android-release.aab keystore
|
|
|
|
android:
|
|
./gradlew assembleDebug
|
|
|
|
switch:
|
|
$(MAKE) -f Makefile.switch
|
|
|
|
wiiu:
|
|
$(MAKE) -f Makefile.wiiu
|
|
|
|
vita:
|
|
$(MAKE) -f Makefile.vita
|
|
|
|
clean:
|
|
if [ -d "build-android" ]; then ./gradlew clean; fi
|
|
if [ -d "build-switch" ]; then $(MAKE) -f Makefile.switch clean; fi
|
|
if [ -d "build-wiiu" ]; then $(MAKE) -f Makefile.wiiu clean; fi
|
|
if [ -d "build-vita" ]; then $(MAKE) -f Makefile.vita clean; fi
|
|
rm -rf $(BUILD)
|
|
rm -f $(NAME)
|