Skip to content

Commit

Permalink
adds peg to the source tree
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremytregunna committed May 16, 2012
1 parent 492cdac commit 2cb1f3d
Show file tree
Hide file tree
Showing 44 changed files with 5,773 additions and 0 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Expand Up @@ -3,4 +3,5 @@ project(Acute)


set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/modules/") set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/modules/")


add_subdirectory(peg)
add_subdirectory(wee) add_subdirectory(wee)
8 changes: 8 additions & 0 deletions peg/CMakeLists.txt
@@ -0,0 +1,8 @@
set(CMAKE_C_FLAGS "-g -std=c99 -DNDEBUG")
set(SRCS
"leg.c"
"tree.c"
"compile.c"
)

add_executable(leg ${SRCS})
65 changes: 65 additions & 0 deletions peg/Makefile
@@ -0,0 +1,65 @@
CFLAGS = -g -Wall $(OFLAGS) $(XFLAGS)
OFLAGS = -O3 -DNDEBUG
#OFLAGS = -pg

OBJS = tree.o compile.o

all : peg leg

peg : peg.o $(OBJS)
$(CC) $(CFLAGS) -o $@-new peg.o $(OBJS)
mv $@-new $@

leg : leg.o $(OBJS)
$(CC) $(CFLAGS) -o $@-new leg.o $(OBJS)
mv $@-new $@

ROOT =
PREFIX = /usr/local
BINDIR = $(ROOT)$(PREFIX)/bin

install : $(BINDIR)/peg $(BINDIR)/leg

$(BINDIR)/% : %
cp -p $< $@
strip $@

uninstall : .FORCE
rm -f $(BINDIR)/peg
rm -f $(BINDIR)/leg

peg.o : peg.c peg.peg-c

%.peg-c : %.peg compile.c
./peg -o $@ $<

leg.o : leg.c

leg.c : leg.leg compile.c
./leg -o $@ $<

check : check-peg check-leg

check-peg : peg .FORCE
./peg < peg.peg > peg.out
diff peg.peg-c peg.out
rm peg.out

check-leg : leg .FORCE
./leg < leg.leg > leg.out
diff leg.c leg.out
rm leg.out

test examples : .FORCE
$(SHELL) -ec '(cd examples; $(MAKE))'

clean : .FORCE
rm -f *~ *.o *.peg.[cd] *.leg.[cd]
$(SHELL) -ec '(cd examples; $(MAKE) $@)'

spotless : clean .FORCE
rm -f peg
rm -f leg
$(SHELL) -ec '(cd examples; $(MAKE) $@)'

.FORCE :

0 comments on commit 2cb1f3d

Please sign in to comment.