diff options
author | jaseg <code@jaseg.net> | 2016-04-28 22:30:18 +0200 |
---|---|---|
committer | jaseg <code@jaseg.net> | 2016-04-28 22:40:14 +0200 |
commit | 9f3492f131cd6faac5c24e9c829f4f70a108ee26 (patch) | |
tree | 56d351d73105cdac7bee644186fd7b3488cbb4b3 | |
parent | 64e25bef9c8e797f2c1af2f73b8faa6c46456fef (diff) | |
download | lolcat-9f3492f131cd6faac5c24e9c829f4f70a108ee26.tar.gz lolcat-9f3492f131cd6faac5c24e9c829f4f70a108ee26.tar.bz2 lolcat-9f3492f131cd6faac5c24e9c829f4f70a108ee26.zip |
Compile dynamically linked executables on MacOS
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | Makefile | 22 | ||||
-rw-r--r-- | censor.c | 2 | ||||
-rw-r--r-- | lolcat.c | 8 | ||||
m--------- | memorymapping | 0 |
5 files changed, 25 insertions, 10 deletions
diff --git a/.gitmodules b/.gitmodules index f80450c..a956631 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "musl"] path = musl url = git://git.musl-libc.org/musl +[submodule "memorymapping"] + path = memorymapping + url = https://github.com/NimbusKit/memorymapping @@ -1,4 +1,14 @@ +LOLCAT_SRC = lolcat.c +CENSOR_SRC = censor.c +CFLAGS = -std=c11 -Wall + +ifeq ($(shell uname -s),Darwin) + LOLCAT_SRC += memorymapping/src/fmemopen.c + CENSOR_SRC += memorymapping/src/fmemopen.c + CFLAGS += -Imemorymapping/src +endif + all: lolcat censor .PHONY: install clean musl static @@ -12,18 +22,18 @@ musl: musl/lib/libc.a musl/lib/crt1.o static: lolcat-static censor-static lolcat-static: lolcat.c musl - gcc -c -std=c11 -Wall -Imusl/include -o lolcat.o $< + gcc -c $(CFLAGS) -Imusl/include -o lolcat.o $< gcc -s -nostartfiles -nodefaultlibs -nostdinc -static -ffunction-sections -fdata-sections -Wl,--gc-sections -o $@ lolcat.o musl/lib/crt1.o musl/lib/libc.a censor-static: censor.c musl - gcc -c -std=c11 -Wall -Imusl/include -o censor.o $< + gcc -c $(CFLAGS) -Imusl/include -o censor.o $< gcc -s -nostartfiles -nodefaultlibs -nostdinc -static -ffunction-sections -fdata-sections -Wl,--gc-sections -o $@ censor.o musl/lib/crt1.o musl/lib/libc.a -lolcat: lolcat.c - gcc -std=c11 -Wall -o $@ $< +lolcat: $(LOLCAT_SRC) + gcc $(CFLAGS) -o $@ $^ -censor: censor.c - gcc -std=c11 -Wall -o $@ $< +censor: $(CENSOR_SRC) + gcc $(CFLAGS) -o $@ $^ install: lolcat censor install lolcat /usr/local/bin @@ -13,8 +13,6 @@ * 0. You just DO WHAT THE FUCK YOU WANT TO. */ -#define _GNU_SOURCE //for fmemopen - #include <stdint.h> #include <stdio.h> #include <wchar.h> @@ -13,8 +13,6 @@ * 0. You just DO WHAT THE FUCK YOU WANT TO. */ -#define _GNU_SOURCE //for fmemopen - #include <stdint.h> #include <stdio.h> #include <wchar.h> @@ -27,6 +25,12 @@ #include <unistd.h> #include <sys/time.h> +#ifdef __APPLE__ +#include "fmemopen.h" +#else // __APPLE__ +#define _GNU_SOURCE //for fmemopen +#endif // __APPLE__ + static char helpstr[] = "\n" "Usage: lolcat [-h horizontal_speed] [-v vertical_speed] [--] [FILES...]\n" diff --git a/memorymapping b/memorymapping new file mode 160000 +Subproject 79ce0ddd0de4b11e4944625eb866290368f867c |