-
toole1 authored
git-svn-id: https://subversion.cs.illinois.edu/svn/cs225@4611 6fbd10e7-183d-0410-a318-cb416676e4f2
toole1 authoredgit-svn-id: https://subversion.cs.illinois.edu/svn/cs225@4611 6fbd10e7-183d-0410-a318-cb416676e4f2
Makefile 1.10 KiB
CC = g++
CFLAGS = -Wall -Wshadow
EXENAME = monad
OBJS = $(EXENAME).o help.o util.o monad_shared.o
IDFILE = .monadid
OPTIMIZE = off
ifeq ($(strip $(OPTIMIZE)),on)
CFLAGS += -O2 -DOPTIMIZE
else ifeq ($(strip $(OPTIMIZE)),off)
CFLAGS += -g -O0
else
$(warning Invalid value specified for OPTIMIZE. Should be on or off)
CFLAGS += -g -O0
endif
all: $(EXENAME) $(IDFILE)
$(IDFILE): $(OBJS)
echo -e '$(EXENAME) identification file\n'\
'This file is used for $(EXENAME) directory identification\n'\
'Built by' `whoami` 'on' `hostname`'\n'\
'Build Date:' `date`> $(IDFILE)
$(EXENAME): $(OBJS) $(IDFILE)
$(CC) $(CFLAGS) $(OBJS) -o $@
help.cpp: $(wildcard *.h) README.cg LICENSE.cg
CONVERT_TXT_TO_CG=sed -e 's/"/\\"/g' -e 's/^/ << "/' -e 's/$$/" << endl/'
README.cg: README.txt
$(CONVERT_TXT_TO_CG) README.txt > README.cg
LICENSE.cg: LICENSE.txt
$(CONVERT_TXT_TO_CG) LICENSE.txt > LICENSE.cg
%.o : %.cpp $(wildcard *.h)
$(CC) $(CFLAGS) -c $(@:.o=.cpp) -o $@
.PHONY: clean
clean:
rm -f $(wildcard *.o) $(wildcard *.cg) $(EXENAME) $(IDFILE) $(wildcard $(EXENAME)$(EXENAME)*)
.PHONY: clean.sh
clean.sh: $(EXENAME)
./clean.sh