# makefile
#
#
CC = gcc
SRCS := $(wildcard *.c)
BIN = pgc

all:	macos

wasm:
	emcc packet2.c -o hello.html -O3 -s FORCE_FILESYSTEM=1 --shell-file shell_minimal.html  -s NO_EXIT_RUNTIME=1 -s "EXPORTED_RUNTIME_METHODS=['ccall']"# && rm packets/* && cp hello.* ./packets/

macos:
	${CC} -o ${BIN} -DMACOS=1 -O3 -Wall packet.c

linux:
	musl-gcc -o ${BIN} -O3 -Wall -static packet.c
	sudo setcap cap_net_raw,cap_net_admin=eip ${BIN}

shared: #packet.o
	gcc -o ${BIN}-shared -Wall -Og -g3 packet.c
	sudo setcap cap_net_raw,cap_net_admin=eip ${BIN}-shared

pgcarm64: #packet.o
	./aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc -o ${BIN}-arm64 -Wall -Og -g3 packet.c
	sudo setcap cap_net_raw,cap_net_admin=eip ${BIN}-arm64

pgcarmv7: #packet.o
	./armv7l-linux-musleabihf-cross/bin/armv7l-linux-musleabihf-gcc -o ${BIN}-armv7 -Og ./packet.c
	sudo setcap cap_net_raw,cap_net_admin=eip ${BIN}-armv7

clean:
	rm ${BIN} ${BIN}-shared
