asmflags=-f elf
cflags=-O0 -std=c23 -I.
#ldflags=-fPIC -shared -ldl
ldflags=
libdir=/lib
incdir=/usr/include
uid=$(shell id -u)

.PHONY: clean install

all: ccapi.o cc.o

# cc: cc.o
# 	ld $^ -o $@ $(ldflags)

cc.o: cc.asm cc.asmh
	nasm $(asmflags) $<

# libccapi.so: ccapi.o cc.o
#	cc $(cflags) $^ -o $@ $(ldflags)

ccapi.o: ccapi.c ccapi.h
	cc $(cflags) -c $<

install: ccapi.o cc.o
ifneq ($(uid),0)
	@>&2 printf "FATAL ERROR: Must be root\n" 
	@exit 1 

else
	cp $^ $(libdir)/
	cp cc.asmh ccapi.h $(incdir)/

	@echo "Libraries installed successfully"
	@echo "Link against ccapi.o and cc.o in $(libdir)"

	@exit 0
endif

clean:
	rm -f *.o ccapi
