forked from bonsai/harakit
		
	Merge branch 'makefile-fixes' (closes #29)
This commit is contained in:
		
						commit
						9095602296
					
				
							
								
								
									
										61
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								Makefile
									
									
									
									
									
								
							@ -1,5 +1,5 @@
 | 
				
			|||||||
# Copyright (c) 2023–2024 Emma Tebibyte <emma@tebibyte.media>
 | 
					# Copyright (c) 2023–2024 Emma Tebibyte <emma@tebibyte.media>
 | 
				
			||||||
# Copyright (c) 2023 DTB <trinity@trinity.moe>
 | 
					# Copyright (c) 2023–2024 DTB <trinity@trinity.moe>
 | 
				
			||||||
# Copyright (c) 2023 Sasha Koshka <sashakoshka@tebibyte.media>
 | 
					# Copyright (c) 2023 Sasha Koshka <sashakoshka@tebibyte.media>
 | 
				
			||||||
# SPDX-License-Identifier: FSFAP
 | 
					# SPDX-License-Identifier: FSFAP
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
@ -10,19 +10,15 @@
 | 
				
			|||||||
.POSIX:
 | 
					.POSIX:
 | 
				
			||||||
.PRAGMA: posix_202x # future POSIX standard support à la pdpmake(1)
 | 
					.PRAGMA: posix_202x # future POSIX standard support à la pdpmake(1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: all
 | 
					 | 
				
			||||||
.PHONY: clean
 | 
					 | 
				
			||||||
.PHONY: install
 | 
					 | 
				
			||||||
.PHONY: test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
PREFIX=/usr/local
 | 
					PREFIX=/usr/local
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CC=cc
 | 
					CC=cc
 | 
				
			||||||
RUSTC=rustc
 | 
					RUSTC=rustc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# to build, first run ./configure
 | 
					# to build, first run ./configure
 | 
				
			||||||
include *.mk
 | 
					include cc.mk rustc.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: all
 | 
				
			||||||
all: dj false fop intcmp scrut str strcmp true
 | 
					all: dj false fop intcmp scrut str strcmp true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build:
 | 
					build:
 | 
				
			||||||
@ -30,6 +26,7 @@ build:
 | 
				
			|||||||
	# https://github.com/rust-lang/rust-bindgen/issues/2703
 | 
						# https://github.com/rust-lang/rust-bindgen/issues/2703
 | 
				
			||||||
	mkdir -p build/bin build/include build/lib build/o build/test
 | 
						mkdir -p build/bin build/include build/lib build/o build/test
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: clean
 | 
				
			||||||
clean:
 | 
					clean:
 | 
				
			||||||
	rm -rf build/ dist/
 | 
						rm -rf build/ dist/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -38,10 +35,12 @@ dist: all
 | 
				
			|||||||
	cp build/bin/* dist/bin/
 | 
						cp build/bin/* dist/bin/
 | 
				
			||||||
	cp docs/*.1 dist/share/man/man1/
 | 
						cp docs/*.1 dist/share/man/man1/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: install
 | 
				
			||||||
install: dist
 | 
					install: dist
 | 
				
			||||||
	mkdir -p $(PREFIX)
 | 
						mkdir -p $(PREFIX)
 | 
				
			||||||
	cp -r dist/* $(PREFIX)/
 | 
						cp -r dist/* $(PREFIX)/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: test
 | 
				
			||||||
test: build
 | 
					test: build
 | 
				
			||||||
	tests/cc-compat.sh
 | 
						tests/cc-compat.sh
 | 
				
			||||||
	tests/posix-compat.sh
 | 
						tests/posix-compat.sh
 | 
				
			||||||
@ -61,27 +60,43 @@ libgetopt: src/getopt-rs/lib.rs
 | 
				
			|||||||
	$(RUSTC) $(RUSTCFLAGS) --crate-type=lib --crate-name=getopt \
 | 
						$(RUSTC) $(RUSTCFLAGS) --crate-type=lib --crate-name=getopt \
 | 
				
			||||||
		-o build/o/libgetopt.rlib src/getopt-rs/lib.rs
 | 
							-o build/o/libgetopt.rlib src/getopt-rs/lib.rs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dj: src/dj.c build
 | 
					.PHONY: dj
 | 
				
			||||||
	$(CC) $(CFLAGS) -o build/bin/dj src/dj.c
 | 
					dj: build/bin/dj
 | 
				
			||||||
 | 
					build/bin/dj: src/dj.c build
 | 
				
			||||||
 | 
						$(CC) $(CFLAGS) -o $@ src/dj.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
false: src/false.c build
 | 
					.PHONY: false
 | 
				
			||||||
	$(CC) $(CFLAGS) -o build/bin/false src/false.c
 | 
					false: build/bin/false
 | 
				
			||||||
 | 
					build/bin/false: src/false.c build
 | 
				
			||||||
 | 
						$(CC) $(CFLAGS) -o $@ src/false.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fop: src/fop.rs build libgetopt sysexits
 | 
					.PHONY: fop
 | 
				
			||||||
 | 
					fop: build/bin/fop
 | 
				
			||||||
 | 
					build/bin/fop: src/fop.rs build libgetopt sysexits
 | 
				
			||||||
	$(RUSTC) $(RUSTFLAGS) --extern getopt=build/o/libgetopt.rlib \
 | 
						$(RUSTC) $(RUSTFLAGS) --extern getopt=build/o/libgetopt.rlib \
 | 
				
			||||||
		-o build/bin/fop src/fop.rs
 | 
							-o $@ src/fop.rs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
intcmp: src/intcmp.c build
 | 
					.PHONY: intcmp
 | 
				
			||||||
	$(CC) $(CFLAGS) -o build/bin/intcmp src/intcmp.c
 | 
					intcmp: build/bin/intcmp
 | 
				
			||||||
 | 
					build/bin/intcmp: src/intcmp.c build
 | 
				
			||||||
 | 
						$(CC) $(CFLAGS) -o $@ src/intcmp.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
scrut: src/scrut.c build
 | 
					.PHONY: scrut
 | 
				
			||||||
	$(CC) $(CFLAGS) -o build/bin/scrut src/scrut.c
 | 
					scrut: build/bin/scrut
 | 
				
			||||||
 | 
					build/bin/scrut: src/scrut.c build
 | 
				
			||||||
 | 
						$(CC) $(CFLAGS) -o $@ src/scrut.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
str: src/str.c build
 | 
					.PHONY: str
 | 
				
			||||||
	$(CC) $(CFLAGS) -o build/bin/str src/str.c
 | 
					str: build/bin/str
 | 
				
			||||||
 | 
					build/bin/str: src/str.c build
 | 
				
			||||||
 | 
						$(CC) $(CFLAGS) -o $@ src/str.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
strcmp: src/strcmp.c build
 | 
					.PHONY: strcmp
 | 
				
			||||||
	$(CC) $(CFLAGS) -o build/bin/strcmp src/strcmp.c
 | 
					strcmp: build/bin/strcmp
 | 
				
			||||||
 | 
					build/bin/strcmp: src/strcmp.c build
 | 
				
			||||||
 | 
						$(CC) $(CFLAGS) -o $@ src/strcmp.c
 | 
				
			||||||
 | 
					
 | 
				
			||||||
true: src/true.c build
 | 
					.PHONY: true
 | 
				
			||||||
	$(CC) $(CFLAGS) -o build/bin/true src/true.c
 | 
					true: build/bin/true
 | 
				
			||||||
 | 
					build/bin/true: src/true.c build
 | 
				
			||||||
 | 
						$(CC) $(CFLAGS) -o $@ src/true.c
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										44
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										44
									
								
								configure
									
									
									
									
										vendored
									
									
								
							@ -14,26 +14,30 @@ RUSTFLAGS='-Copt-level=z -Ccodegen-units=1 -Cpanic=abort -Clto=y \
 | 
				
			|||||||
	-Cstrip=symbols -Ctarget-cpu=native \
 | 
						-Cstrip=symbols -Ctarget-cpu=native \
 | 
				
			||||||
	--extern sysexits=build/o/libsysexits.rlib'
 | 
						--extern sysexits=build/o/libsysexits.rlib'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
case "$@" in
 | 
					if [ "$1" = "clean" ]; then
 | 
				
			||||||
	clang)
 | 
						rm *.mk || true
 | 
				
			||||||
		CFLAGS="$CFLAGS -Wall"
 | 
						exit 0
 | 
				
			||||||
		;;
 | 
					fi
 | 
				
			||||||
	clean)
 | 
					
 | 
				
			||||||
		rm *.mk || true
 | 
					while test -n "$1"; do
 | 
				
			||||||
		exit 0
 | 
						case "$1" in
 | 
				
			||||||
		;;
 | 
							clang)
 | 
				
			||||||
	gcc)
 | 
								CFLAGS="$CFLAGS -Wall"
 | 
				
			||||||
		CFLAGS="$CFLAGS -s -Wl,-z,noseparate-code,-z,nosectionheader -flto"
 | 
								;;
 | 
				
			||||||
		;;
 | 
							gcc)
 | 
				
			||||||
	'rustc +nightly')
 | 
								CFLAGS="$CFLAGS -s -Wl,-z,noseparate-code,-z,nosectionheader -flto"
 | 
				
			||||||
		RUSTFLAGS="+nightly -Zlocation-detail=none $RUSTFLAGS"
 | 
								;;
 | 
				
			||||||
		;;
 | 
							'rustc +nightly')
 | 
				
			||||||
	'') ;;
 | 
								RUSTFLAGS="+nightly -Zlocation-detail=none $RUSTFLAGS"
 | 
				
			||||||
	*)
 | 
								;;
 | 
				
			||||||
		printf 'Usage: %s [compiler]\n' "$0"
 | 
							*)
 | 
				
			||||||
		exit 64 # sysexits.h(3) EX_USAGE
 | 
								printf 'Usage: %s [clean | compiler]\n' "$0"
 | 
				
			||||||
		;;
 | 
								exit 64 # sysexits.h(3) EX_USAGE
 | 
				
			||||||
esac
 | 
								;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						shift
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
printf 'CFLAGS=%s\n' "$CFLAGS" >cc.mk
 | 
					printf 'CFLAGS=%s\n' "$CFLAGS" >cc.mk
 | 
				
			||||||
printf 'RUSTFLAGS=%s\n' "$RUSTFLAGS" >rustc.mk
 | 
					printf 'RUSTFLAGS=%s\n' "$RUSTFLAGS" >rustc.mk
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user