Skip to content

Commit

Permalink
Merge pull request Open-Wine-Components#52 from loathingKernel/makefile
Browse files Browse the repository at this point in the history
Create `ULWGL_VERSION.json` when building
  • Loading branch information
R1kaB3rN authored Mar 8, 2024
2 parents 11e84f4 + a0c2dfb commit b299c67
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 21 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@ var
builddir
__pycache__
.ref
ULWGL_VERSION.json
ULWGL_VERSION.json.in.tmp
Makefile
60 changes: 42 additions & 18 deletions Makefile.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
PROJECT := ulwgl-launcher

# If this is changed to ULWGL (uppercase), `uninstall` target will also remove the SLR directory
INSTALLDIR ?= ulwgl

Expand All @@ -14,7 +16,24 @@ USERINSTALL ?= xfalse


.PHONY: all
all: reaper ulwgl ulwgl-launcher
all: version reaper ulwgl ulwgl-launcher


# Special case, do this inside the source directory for release distribution
ULWGL/ULWGL_VERSION.json: ULWGL/ULWGL_VERSION.json.in
$(info :: Updating $(@) )
cp $(<) $(<).tmp
sed 's|##ULWGL_VERSION##|$(shell git describe --always --long --tags)|g' -i $(<).tmp
sed 's|##REAPER_VERSION##|$(shell git -C subprojects/reaper describe --always --long --tags)|g' -i $(<).tmp
mv $(<).tmp $(@)

.PHONY: version
version: ULWGL/ULWGL_VERSION.json

version-install: version
$(info :: Installing ULWGL_VERSION.json )
install -d $(DESTDIR)$(DATADIR)/$(INSTALLDIR)
install -Dm 644 ULWGL/ULWGL_VERSION.json -t $(DESTDIR)$(DATADIR)/$(INSTALLDIR)


$(OBJDIR)/.build-ulwgl: | $(OBJDIR)
Expand All @@ -29,7 +48,7 @@ ulwgl-bin-install: ulwgl
install -d $(DESTDIR)$(BINDIR)
install -Dm 755 $(OBJDIR)/$(<)-run $(DESTDIR)$(BINDIR)/ulwgl-run

ulwgl-dist-install:
ulwgl-dist-install: version-install
$(info :: Installing ulwgl )
install -d $(DESTDIR)$(DATADIR)/$(INSTALLDIR)
install -Dm 644 ULWGL/ulwgl_consts.py -t $(DESTDIR)$(DATADIR)/$(INSTALLDIR)
Expand All @@ -38,12 +57,8 @@ ulwgl-dist-install:
install -Dm 644 ULWGL/ulwgl_plugins.py -t $(DESTDIR)$(DATADIR)/$(INSTALLDIR)
install -Dm 755 ULWGL/ulwgl_run.py -t $(DESTDIR)$(DATADIR)/$(INSTALLDIR)
install -Dm 644 ULWGL/ulwgl_util.py -t $(DESTDIR)$(DATADIR)/$(INSTALLDIR)
install -Dm 644 ULWGL/ULWGL_VERSION.json -t $(DESTDIR)$(DATADIR)/$(INSTALLDIR)

# Install both dist and sh script target
ulwgl-install: ulwgl-dist-install ulwgl-bin-install
# Install dist only target
#ulwgl-install: ulwgl-dist-install


$(OBJDIR)/.build-ulwgl-launcher: | $(OBJDIR)
Expand All @@ -64,9 +79,6 @@ ulwgl-launcher-dist-install:
install -Dm 644 ULWGL/ULWGL-Launcher/compatibilitytool.vdf -t $(DESTDIR)$(DATADIR)/$(INSTALLDIR)/ULWGL-Launcher
install -Dm 644 ULWGL/ULWGL-Launcher/toolmanifest.vdf -t $(DESTDIR)$(DATADIR)/$(INSTALLDIR)/ULWGL-Launcher

# Install both dist and sh script target
#ulwgl-launcher-install: ulwgl-launcher-dist-install ulwgl-launcher-bin-install
# Install dist only target
ulwgl-launcher-install: ulwgl-launcher-dist-install


Expand All @@ -84,31 +96,43 @@ reaper-install: reaper
install -Dm 755 $(OBJDIR)/$</$< -t $(DESTDIR)$(DATADIR)/$(INSTALLDIR)


.PHONY: $(OBJDIR)
$(OBJDIR):
@mkdir -p $(OBJDIR)
@mkdir -p $(@)


.PHONY: clean
clean:
$(info Cleaning "$(OBJDIR)" build directory)
@rm -rf -v $(OBJDIR)
$(info :: Cleaning source directory )
@rm -rf -v $(OBJDIR) ULWGL/ULWGL_VERSION.json ./$(RELEASEDIR) $(RELEASEDIR).tar.gz


RELEASEDIR := $(PROJECT)-$(shell git describe --abbrev=0)
$(RELEASEDIR):
mkdir -p $(@)

.PHONY: release
release: $(RELEASEDIR) | version
$(info :: Creating source distribution for release )
mkdir -p $(<)
rm -rf ULWGL/__pycache__
cp -r ULWGL flatpak subprojects Makefile.in configure.sh README.md LICENSE $(<)
tar -cvzf $(<).tar.gz $(<)


.PHONY: uninstall
# NEVER use a wildcard here
uninstall:
$(info Removing $(INSTALLDIR) files in $(DESTDIR)$(BINDIR))
$(info :: Removing $(INSTALLDIR) files in $(DESTDIR)$(BINDIR) )
@rm -rf -v --preserve-root=all $(DESTDIR)$(BINDIR)/ulwgl-run
$(info Removing $(INSTALLDIR) directory in $(DESTDIR)$(DATADIR))
$(info :: Removing $(INSTALLDIR) directory in $(DESTDIR)$(DATADIR) )
@rm -rf -v --preserve-root=all $(DESTDIR)$(DATADIR)/$(INSTALLDIR)


.PHONY: user-install
user-install:
$(info :: ---)
$(info :: Installed under user-only location "$(DATADIR)/$(INSTALLDIR)")
$(info :: To run you need to make sure "$(BINDIR)" is in your PATH)
$(info :: --- )
$(info :: Installed under user-only location "$(DATADIR)/$(INSTALLDIR)" )
$(info :: To run you need to make sure "$(BINDIR)" is in your PATH )

ulwgl-docs-install:
$(info :: Installing man pages)
Expand Down
6 changes: 3 additions & 3 deletions ULWGL/ULWGL_VERSION.json → ULWGL/ULWGL_VERSION.json.in
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"ulwgl": {
"versions": {
"launcher": "0.1-RC3",
"runner": "0.1-RC3",
"launcher": "##ULWGL_VERSION##",
"runner": "##ULWGL_VERSION##",
"runtime_platform": "sniper_platform_0.20240125.75305",
"reaper": "1.0",
"reaper": "##REAPER_VERSION##",
"pressure_vessel": "v0.20240212.0"
}
}
Expand Down

0 comments on commit b299c67

Please sign in to comment.