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