BINARIES = lasercamc lasercamd fakevideo

LASERCAMC_OBJS = lasercamc.o config.o socketunix.o
LASERCAMD_OBJS = lasercamd.o config.o video.o socketunix.o findlaser.o

CC = gcc -std=c99 -Wall -Wshadow -pedantic -Werror -g

.SUFFIXES:
.SUFFIXES: .c .o

all: ${BINARIES}

lasercamc: ${LASERCAMC_OBJS}
	${CC} -o $@ ${LASERCAMC_OBJS}

lasercamd: ${LASERCAMD_OBJS}
	${CC} -o $@ ${LASERCAMD_OBJS} -lm

fakevideo: fakevideo.c
	${CC} -o $@ fakevideo.c

.c.o: $<
	${CC} -c $<

clean: DUMMY
	rm -f ${BINARIES} *.o
	rm -f lasercamc-full.c lasercamd-full.c lasercamc-full lasercamd-full

test: lasercamd
	./lasercamd lasercam.conf

DUMMY:

web: lasercamc-full.c lasercamd-full.c

web-bin: lasercamc-full lasercamd-full

lasercamc-full: lasercamc-full.c
	${CC} -o $@ $@.c
	
lasercamd-full: lasercamd-full.c
	${CC} -o $@ $@.c -lm

lasercamc-full.c: lasercamc.c config.c socketunix.c
	fgrep -hv '"lasercam.h"' lasercam.h lasercamc.c config.c socketunix.c > $@

lasercamd-full.c: lasercamd.c config.c video.c socketunix.c findlaser.c
	fgrep -hv '"lasercam.h"' lasercam.h lasercamd.c config.c video.c socketunix.c findlaser.c > $@