Makefile 1.05 KB
BIN = bin
OBJ = obj
SRC = src
INCLUDE = include
CFLAGS =
CLIBS = -lusb-1.0
GNUMAKEFLAGS = --no-print-directory



VERBOSE_THRESHOLD?=3

RELEASE?=0
ifeq ($(RELEASE), 1)
	CFLAGS = -W -Wall
	VERBOSE_THRESHOLD = 0
else
	CFLAGS = -W -Wall -g -O0
endif



all : main demostep



main : libusb_wrapper ${SRC}/main.c
	gcc -o ${OBJ}/$@.o -c ${SRC}/$@.c -I ${INCLUDE} ${CLIBS} ${CFLAGS}
	gcc -o ${BIN}/$@.out ${OBJ}/main.o ${OBJ}/libusb_wrapper.o ${CFLAGS} ${CLIBS}

demostep : STEP4.1

STEP4.1 : ${SRC}/GetUsbInfos.c bin
	gcc -o ${BIN}/STEP4.1.out ${SRC}/GetUsbInfos.c ${CLIBS} ${CFLAGS}

STEP4.2 : ${SRC}/FourPointTwo.c bin
	gcc -o ${BIN}/STEP4.2.out ${SRC}/FourPointTwo.c ${CLIBS} ${CFLAGS}

STEP4.3 : ${SRC}/FourPointThree.c bin
	gcc -o ${BIN}/STEP4.3.out ${SRC}/FourPointThree.c ${CLIBS} ${CFLAGS}


libs: libusb_wrapper

libusb_wrapper: obj ${SRC}/libusb_wrapper.c ${INCLUDE}/libusb_wrapper.h
	gcc -o ${OBJ}/$@.o -c ${SRC}/$@.c -I ${INCLUDE} ${CLIBS} ${CFLAGS}



obj :
	@-mkdir ${OBJ}

bin :
	@-mkdir ${BIN}

clean :
	rm -rf obj/*.o

mrproper: clean
	rm -rf bin
	rm -rf obj