File 0002-hfs-Add-build-support-for-GNU-Make.patch of Package hfsplus-tools

From e7fd16cf94437abf7c9010ad48f9c9793341e58d Mon Sep 17 00:00:00 2001
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Date: Tue, 20 Jun 2023 16:56:55 +0200
Subject: [PATCH 2/7] hfs: Add build support for GNU Make

---
 Makefile                 | 15 +++++++++++++++
 fsck_hfs/Makefile        | 17 +++++++++++++++++
 fsck_hfs/dfalib/Makefile | 15 +++++++++++++++
 newfs_hfs/Makefile       | 12 ++++++++++++
 4 files changed, 59 insertions(+)
 create mode 100644 Makefile
 create mode 100644 fsck_hfs/Makefile
 create mode 100644 fsck_hfs/dfalib/Makefile
 create mode 100644 newfs_hfs/Makefile

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f6e45f8
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,15 @@
+VERSION=627.40.1
+
+CFLAGS := -g3 -Wall -I$(PWD)/include -D_FILE_OFFSET_BITS=64 -DLINUX=1 -DBSD=1 -DVERSION=\"$(VERSION)\"
+LDFLAGS := -Wl,--build-id
+SUBDIRS := newfs_hfs fsck_hfs
+
+all clean:
+	for d in $(SUBDIRS); do $(MAKE) -C $$d -f Makefile $@; done
+
+dist: clean
+	-mkdir hfs-$(VERSION)
+	cp -a $(SUBDIRS) Makefile include hfs-$(VERSION)
+	tar zcf hfs-$(VERSION).tar.gz hfs-$(VERSION)
+
+export CC CFLAGS LDFLAGS
diff --git a/fsck_hfs/Makefile b/fsck_hfs/Makefile
new file mode 100644
index 0000000..4314627
--- /dev/null
+++ b/fsck_hfs/Makefile
@@ -0,0 +1,17 @@
+CFILES = fsck_hfs.c utilities.c cache.c fsck_messages.c fsck_debug.c fsck_hfs_strings.c fsck_strings.c
+OFILES = $(CFILES:.c=.o)
+CFLAGS += -DTRUE=1 -DFALSE=0 -DDEBUG_BUILD=0
+
+all: fsck_hfs
+
+fsck_hfs: $(OFILES) dfalib/libdfa.a
+	  $(CC) $(CFLAGS) $(LDFLAGS) $(OFILES) dfalib/libdfa.a -o fsck_hfs -lbsd -lpthread
+
+dfalib/libdfa.a: FORCE
+	$(MAKE) -C dfalib -f Makefile libdfa.a
+
+clean:
+	$(RM) fsck_hfs $(OFILES)
+	$(MAKE) -C dfalib -f Makefile clean
+
+.PHONY : FORCE clean
diff --git a/fsck_hfs/dfalib/Makefile b/fsck_hfs/dfalib/Makefile
new file mode 100644
index 0000000..904af84
--- /dev/null
+++ b/fsck_hfs/dfalib/Makefile
@@ -0,0 +1,15 @@
+CFILES = fsck_journal.c hfs_endian.c BlockCache.c\
+         BTree.c BTreeAllocate.c BTreeMiscOps.c \
+         BTreeNodeOps.c BTreeScanner.c BTreeTreeOps.c\
+         CatalogCheck.c HardLinkCheck.c\
+         SBTree.c SControl.c SVerify1.c SVerify2.c\
+         SRepair.c dirhardlink.c SRebuildBTree.c \
+         SUtils.c SKeyCompare.c SDevice.c SExtents.c SAllocate.c\
+         SCatalog.c SStubs.c VolumeBitmapCheck.c
+OFILES = $(CFILES:.c=.o)
+
+libdfa.a: $(OFILES)
+	ar rc $@ $?
+
+clean:
+	$(RM) $(OFILES) libdfa.a
diff --git a/newfs_hfs/Makefile b/newfs_hfs/Makefile
new file mode 100644
index 0000000..14a817e
--- /dev/null
+++ b/newfs_hfs/Makefile
@@ -0,0 +1,12 @@
+CFILES = hfs_endian.c makehfs.c newfs_hfs.c
+OFILES = $(CFILES:.c=.o)
+
+all: newfs_hfs
+
+newfs_hfs: $(OFILES)
+	${CC} ${CFLAGS} ${LDFLAGS} -o newfs_hfs ${OFILES} -lmd
+
+clean:
+	$(RM) newfs_hfs $(OFILES)
+
+.PHONY : FORCE clean
-- 
2.41.0

openSUSE Build Service is sponsored by