78 lines
1.1 KiB
Makefile
78 lines
1.1 KiB
Makefile
# flags and libs
|
|
DEFS =
|
|
LIBS =
|
|
|
|
# compiler and flags
|
|
CC = cc
|
|
CCFLAGS = -Wall -O3 -c
|
|
CXX = c++
|
|
CXXFLAGS = $(CCFLAGS)
|
|
CPPFLAGS =
|
|
|
|
# linker
|
|
LD = c++
|
|
LDFLAGS =
|
|
STRIP = strip
|
|
|
|
# misc programs
|
|
RM = rm -f
|
|
INSTALL = install
|
|
MKDEPEND = mkdepend
|
|
LEX = flex -f
|
|
YACC = yacc
|
|
|
|
# our target and source code
|
|
TARGET = hsmc
|
|
SRCS = hsm-lexer.c hsm-parser.tab.c getopt.cpp main.cpp
|
|
OBJS = hsm-lexer.o hsm-parser.tab.o getopt.o main.o
|
|
|
|
##
|
|
##
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(LD) $(LDFLAGS) $(LIBS) -o $@ $(OBJS)
|
|
|
|
hsm-parser.tab.h: \
|
|
hsm.y
|
|
|
|
hsm-parser.tab.c: hsm.y
|
|
$(YACC) -d -bhsm-parser hsm.y
|
|
|
|
hsm-lexer.h: \
|
|
hsm.l
|
|
|
|
hsm-lexer.c: hsm.l
|
|
$(LEX) -ohsm-lexer.c hsm.l
|
|
|
|
depend:
|
|
$(MKDEPEND) $(SRCS)
|
|
|
|
clean:
|
|
$(RM) $(OBJS) $(TARGET)
|
|
|
|
.cpp.o:
|
|
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(DEFS) $< -o $@
|
|
|
|
.c.o:
|
|
$(CC) $(CCFLAGS) $(CPPFLAGS) $(DEFS) $< -o $@
|
|
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
|
|
hsm-lexer.o: \
|
|
hsm-parser.tab.h
|
|
|
|
hsm-parser.o: \
|
|
main.h
|
|
|
|
main.o: \
|
|
autofile.h \
|
|
config.h \
|
|
getopt.h \
|
|
machine.h \
|
|
main.h \
|
|
state.h
|
|
|