# Makefile for building Parsee # ================================ # TODO: Consider making something akin to a configure script that checks # for dependencies, or maybe even use *autoconf* (the devil!) # =========================== Parsee Flags ============================= NAME=Parsee VERSION=0.0.0 REPOSITORY=$(shell git remote get-url origin) # =========================== Compilation Flags ============================ CYTO_INC=/usr/local/include/ # Where Cytoplasm's include path is # located. CYTO_LIB=/usr/local/lib # Where's Cytoplasm's library is # located. SOURCE=. OBJECT=out CC=cc CFLAGS=-I$(SOURCE) -I$(CYTO_INC) -DNAME="\"$(NAME)\"" -DVERSION="\"$(VERSION)\"" -DREPOSITORY=\"$(REPOSITORY)\" -g -ggdb -Wall -Werror LDFLAGS=-L $(CYTO_LIB) -lCytoplasm -g -ggdb # ============================ Compilation ================================= SRC_FILES:=$(shell find $(SOURCE) -name '*.c') OBJ_FILES:=${subst $(SOURCE)/,$(OBJECT)/,$(patsubst %.c, %, $(SRC_FILES))} all: $(OBJ_FILES) $(OBJECT)/%: $(SOURCE)/%.c @mkdir -p $(shell dirname "$@") $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ clean: rm -rf $(OBJECT)