jitcraft/Makefile.in
author David Anderson <dvander@alliedmods.net>
Tue Jul 03 00:36:48 2012 -0700 (2012-07-03)
changeset 33 95baf120f7d4
parent 28 a9665857cfd5
child 44 c920f9328716
permissions -rw-r--r--
Handle-ize BytecodeEmitter.
dvander@28
     1
#vim: set ft=make: 
dvander@28
     2
dvander@28
     3
CXX=@CXX@
dvander@28
     4
CXXFLAGS=@CXXFLAGS@
dvander@28
     5
srcdir=@srcdir@
dvander@28
     6
VPATH=${srcdir}
dvander@28
     7
TOOLS=${srcdir}/../build
dvander@28
     8
CXXVENDOR=@CXXVENDOR@
dvander@28
     9
PLATFORM="@PLATFORM@"
dvander@28
    10
NULL =
dvander@28
    11
dvander@28
    12
INCLUDES += -I${srcdir}
dvander@28
    13
CXXFLAGS += $(INCLUDES)
dvander@28
    14
BASECXXFLAGS = -Wall -Werror -Wno-null-arithmetic
dvander@28
    15
dvander@28
    16
CPPSRCS = \
dvander@28
    17
	Array.cpp                  \
dvander@28
    18
	BytecodeCompiler.cpp       \
dvander@28
    19
	BytecodeEmitter.cpp	   \
dvander@28
    20
	CompileContext.cpp         \
dvander@28
    21
        Exception.cpp              \
dvander@28
    22
        FixedArray.cpp             \
dvander@28
    23
        Functions.cpp              \
dvander@28
    24
	Heap.cpp                   \
dvander@28
    25
        Interpreter.cpp            \
dvander@28
    26
	Modules.cpp                \
dvander@28
    27
	NameBinding.cpp            \
dvander@28
    28
	Parser.cpp                 \
dvander@28
    29
	Opcodes.cpp                \
dvander@28
    30
	PoolAllocator.cpp          \
dvander@28
    31
	Reference.cpp              \
dvander@28
    32
	Scanner.cpp                \
dvander@28
    33
	Scopes.cpp                 \
dvander@28
    34
	SemanticAnalysis.cpp       \
dvander@28
    35
	Spaces.cpp                 \
dvander@28
    36
	Stack.cpp                  \
dvander@28
    37
	TypeManager.cpp            \
dvander@28
    38
	Types.cpp                  \
dvander@28
    39
	Zone.cpp                   \
dvander@28
    40
	main.cpp                   \
dvander@28
    41
	$(NULL)
dvander@28
    42
dvander@28
    43
ifeq ("darwin", $(PLATFORM))
dvander@28
    44
CPPSRCS += \
dvander@28
    45
	Platform-Posix.cpp         \
dvander@28
    46
	$(NULL)
dvander@28
    47
endif
dvander@28
    48
ifeq ("linux", $(PLATFORM))
dvander@28
    49
CPPSRCS += \
dvander@28
    50
	Platform-Posix.cpp         \
dvander@28
    51
	$(NULL)
dvander@28
    52
endif
dvander@28
    53
dvander@28
    54
default: all
dvander@28
    55
dvander@28
    56
OBJECTS := $(CPPSRCS:%.cpp=%.o)
dvander@28
    57
dvander@28
    58
ifeq ($(CXXVENDOR), microsoft)
dvander@28
    59
dvander@28
    60
CXXFLAGS += /DWIN32 /D_WINDOWS
dvander@28
    61
dvander@28
    62
%.o: %.cpp
dvander@28
    63
	$(CXX) $(CXXFLAGS) /Fo$@ /c /TP /nologo $<
dvander@28
    64
else
dvander@28
    65
dvander@28
    66
%.o: %.cpp
dvander@28
    67
	$(CXX) $(BASECXXFLAGS) $(CXXFLAGS) -c -o $@ -Wp,-MD,.deps/$(patsubst %.o,%.d,$@) $<
dvander@28
    68
dvander@28
    69
endif
dvander@28
    70
dvander@28
    71
#$(CXX) $(BASECXXFLAGS) $(CXXFLAGS) -c -o $@ -Wp,-MD,.deps/$(basename $(@F)).pp $<
dvander@28
    72
dvander@28
    73
DEPEND_FILES := $(strip $(wildcard .deps/*.d))
dvander@28
    74
dvander@28
    75
ifneq (,$(DEPEND_FILES))
dvander@28
    76
DEPEND_RESULTS = $(shell $(TOOLS)/mddepend.pl - $(DEPEND_FILES))
dvander@28
    77
$(eval $(DEPEND_RESULTS))
dvander@28
    78
endif
dvander@28
    79
dvander@28
    80
all: foobar
dvander@28
    81
dvander@28
    82
foobar: libfoobar.a main.o
dvander@28
    83
	$(CXX) main.o libfoobar.a -lpthread -o foobar
dvander@28
    84
dvander@28
    85
libfoobar.a: $(OBJECTS)
dvander@28
    86
	$(AR) -crs libfoobar.a $(OBJECTS)
dvander@28
    87
dvander@28
    88
FORCE:
dvander@28
    89
dvander@28
    90
clean:
dvander@28
    91
	rm -f .deps/*.d
dvander@28
    92
	rm -f *.o
dvander@28
    93
	rm -f libfoobar.a
dvander@28
    94
	rm -f foobar
dvander@28
    95