CPP = clang++
LD = clang++
#CLANGLIBS=-lclangTooling -lclangFrontendTool -lclangFrontend -lclangDriver -lclangSerialization -lclangCodeGen -lclangParse -lclangSema -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangAnalysis -lclangARCMigrate -lclangRewrite -lclangRewriteFrontend -lclangEdit -lclangAST -lclangLex -lclangBasic -lclang
#CCARGS = -I../modest/myhtml-master/include -I../../automatic/Library/boost_1_72_0 -g -std=gnu++17 -Wno-dangling-else -O3
CCARGS = -I../modest/myhtml-master/include -I../../automatic/Library/boost_1_72_0 -g -std=gnu++17 -Wno-dangling-else -DFUDDYDUDDY
LARGS = -O3 -std=gnu++17 -L /usr/lib -L ../modest/myhtml-master/lib -L ../../automatic/Library/boost_1_72_0/stage/lib -o ssc -l myhtml -l boost_date_time-clang-darwin90-mt-s-x64-1_72 -l boost_filesystem-clang-darwin90-mt-s-x64-1_72 -l boost_program_options-clang-darwin90-mt-s-x64-1_72 -l pthread -l stdc++

all: attr.o attribute_myhtml.o \
elem.o element.o element_constructor.o element_html.o element_myhtml.o element_wrapper.o \
ssc.o \
family.o field.o microformat_constructor.o microformat_export.o microformats.o vocab.o \
prop.o property_value.o \
type.o type_enum.o type_url.o \
byteorder.o common.o context.o options.o quote.o \
hook.o irt.o webmention.o webmentions.o \
directory.o external.o headers.o page.o \
url.o url_parameters.o url_protocol.o url_sanitise.o url_scheme.o
	$(LD) *.o $(LARGS)


attr.h: symbol.h

attribute.h: attribute_myhtml.h common.h type.h

attribute_classes.h: attribute.h

attribute_myhtml.h: attr.h

byteorder.h:

common.h:

context.h: irt.h hook.h

directory.h: common.h

elem.h: symbol.h

element.h: element_wrapper.h microformats_ptr.h

element_attribute.h: attribute_classes.h element_myhtml.h tuple.h

element_classes.h: element_html.h

element_constructor.h: context.h element_myhtml.h element_classes.h

element_html.h: element_attribute.h

element_myhtml.h: elem.h

element_wrapper.h: element_constructor.h

external.h: context.h

family.h: vocab.h property.h

field.h: vocab.h property.h

headers.h: context.h

hook.h: url.h

irt.h: common.h

microformat.h: symbol.h vocab.h microformat_properties.h

microformat_classes.h: microformat.h

microformat_constructor.h: microformat_classes.h

microformat_export.h: microformat_export_rel.h

microformat_export_rel.h: quote.h

microformat_properties.h: property_classes.h tuple.h

microformats.h: microformat_constructor.h

microformats_ptr.h: microformats.h

options.h: common.h

page.h: byteorder.h symbol_table.h element.h microformat_export.h

prop.h: symbol.h context.h type.h

property.h: prop.h property_value.h

property_classes.h: property.h

property_value.h: type.h

quote.h: common.h

reldef.h:

symbol.h: symbol_table.h

symbol_table.h: common.h

tuple.h:

type.h: type_1.h type_2.h type_3.h type_4.h type_enum.h type_relational.h type_url.h

type_1.h: type_master.h

type_2.h: type_master.h

type_3.h: type_master.h

type_4.h: type_master.h

type_base.h: common.h

type_core.h: type_base.h context.h

type_enum.h: type_master.h

type_master.h: type_core.h symbol.h version.h vocab.h quote.h

type_relational.h: type_master.h

type_url.h: type_master.h

url.h: common.h url_protocol.h url_parameters.h

url_paramters.h: common.h

url_protocol.h: common.h symbol.h

url_sanitise.h:

url_scheme.h: url_protocol.h

url_schemes.h: url_scheme.h

version.h:

vocab.h: symbol.h context.h

webmention.h: url.h

webmentions.h: webmention.h


attr.o: attr.cpp attr.h
	$(CPP) $(CCARGS) -c attr.cpp

attribute_myhtml.o: attribute_myhtml.cpp attribute_myhtml.h
	$(CPP) $(CCARGS) -c attribute_myhtml.cpp

byteorder.o: byteorder.cpp byteorder.h
	$(CPP) $(CCARGS) -c byteorder.cpp

common.o: common.cpp common.h version.h context.h
	$(CPP) $(CCARGS) -c common.cpp

context.o: context.cpp context.h options.h irt.h hook.h
	$(CPP) $(CCARGS) -c context.cpp

directory.o: directory.cpp directory.h common.h context.h external.h page.h
	$(CPP) $(CCARGS) -c directory.cpp

elem.o: elem.cpp elem.h context.h
	$(CPP) $(CCARGS) -c elem.cpp

element.o: element.cpp element.h context.h directory.h family.h field.h page.h quote.h
	$(CPP) $(CCARGS) -c element.cpp

element_constructor.o: element_constructor.cpp element_constructor.h
	$(CPP) $(CCARGS) -c element_constructor.cpp

element_myhtml.o: element_myhtml.cpp element_myhtml.h symbol.h context.h
	$(CPP) $(CCARGS) -c element_myhtml.cpp

element_html.o: element_html.cpp element_html.h
	$(CPP) $(CCARGS) -c element_html.cpp

element_wrapper.o: element_wrapper.cpp element_wrapper.h
	$(CPP) $(CCARGS) -c element_wrapper.cpp

external.o: external.cpp external.h common.h headers.h url.h
	$(CPP) $(CCARGS) -c external.cpp

family.o: family.cpp family.h
	$(CPP) $(CCARGS) -c family.cpp

field.o: field.cpp field.h
	$(CPP) $(CCARGS) -c field.cpp

headers.o: headers.cpp headers.h common.h
	$(CPP) $(CCARGS) -c headers.cpp

hook.o: hook.cpp hook.h common.h context.h external.h directory.h element.h page.h webmentions.h
	$(CPP) $(CCARGS) -c hook.cpp

irt.o: irt.cpp irt.h version.h context.h common.h external.h page.h directory.h headers.h
	$(CPP) $(CCARGS) -c irt.cpp

microformat_constructor.o: microformat_constructor.cpp microformat_constructor.h
	$(CPP) $(CCARGS) -c microformat_constructor.cpp

microformat_export.o: microformat_export.cpp microformat_export.h context.h
	$(CPP) $(CCARGS) -c microformat_export.cpp

microformats.o: microformats.cpp microformat_constructor.h
	$(CPP) $(CCARGS) -c microformats.cpp

options.o: options.cpp options.h version.h context.h
	$(CPP) $(CCARGS) -c options.cpp

page.o: page.cpp page.h common.h directory.h element.h url.h element_myhtml.h url_sanitise.h
	$(CPP) $(CCARGS) -c page.cpp

prop.o: prop.cpp property.h reldef.h
	$(CPP) $(CCARGS) -c prop.cpp

property_value.o: property_value.cpp property_value.h element.h
	$(CPP) $(CCARGS) -c property_value.cpp

quote.o: quote.cpp quote.h
	$(CPP) $(CCARGS) -c quote.cpp

ssc.o: ssc.cpp context.h directory.h attr.h elem.h family.h field.h property.h type.h vocab.h url_sanitise.h
	$(CPP) $(CCARGS) -c ssc.cpp

type.o: type.cpp type_1.h type_2.h type_3.h type_4.h
	$(CPP) $(CCARGS) -c type.cpp

type_enum.o: type_enum.cpp type.h
	$(CPP) $(CCARGS) -c type_enum.cpp

type_url.o: type_url.cpp type_url.h directory.h url.h
	$(CPP) $(CCARGS) -c type_url.cpp

url.o: url.cpp url.h context.h url_protocol.h url_sanitise.h
	$(CPP) $(CCARGS) -c url.cpp

url_parameters.o: url_parameters.cpp url_parameters.h url_sanitise.h
	$(CPP) $(CCARGS) -c url_parameters.cpp

url_protocol.o: url_protocol.cpp url_protocol.h url_schemes.h
	$(CPP) $(CCARGS) -c url_protocol.cpp

url_sanitise.o: url_sanitise.cpp url_sanitise.h common.h
	$(CPP) $(CCARGS) -c url_sanitise.cpp

url_scheme.o: url_scheme.cpp url_scheme.h url_schemes.h context.h url_sanitise.h
	$(CPP) $(CCARGS) -c url_scheme.cpp

vocab.o: vocab.cpp vocab.h reldef.h
	$(CPP) $(CCARGS) -c vocab.cpp

webmention.o: webmention.cpp webmention.h common.h context.h
	$(CPP) $(CCARGS) -c webmention.cpp

webmentions.o: webmentions.cpp webmentions.h version.h context.h
	$(CPP) $(CCARGS) -c webmentions.cpp


clean:
	rm -rf *.o ssc

install:
	cp ssc /usr/local/bin
