src/Makefile.in
author David Anderson <dvander@alliedmods.net>
Tue Jul 24 23:53:34 2012 -0700 (2012-07-24)
changeset 86 32ad0523b309
parent 47 jitcraft/Makefile.in@050939c6181e
permissions -rw-r--r--
Renamed jitcraft/ to src/, fixed some /Wp64 warnings.
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@47
    12
INCLUDES += 
dvander@28
    13
CXXFLAGS += $(INCLUDES)
dvander@47
    14
BASECXXFLAGS = -Wall -Werror -Wno-null-arithmetic -Wno-invalid-offsetof -g3 -O0
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@47
    32
	RootScopes.cpp             \
dvander@28
    33
	Scanner.cpp                \
dvander@28
    34
	Scopes.cpp                 \
dvander@28
    35
	SemanticAnalysis.cpp       \
dvander@28
    36
	Spaces.cpp                 \
dvander@28
    37
	Stack.cpp                  \
dvander@28
    38
	TypeManager.cpp            \
dvander@28
    39
	Types.cpp                  \
dvander@28
    40
	Zone.cpp                   \
dvander@28
    41
	main.cpp                   \
dvander@28
    42
	$(NULL)
dvander@28
    43
dvander@28
    44
ifeq ("darwin", $(PLATFORM))
dvander@28
    45
CPPSRCS += \
dvander@28
    46
	Platform-Posix.cpp         \
dvander@28
    47
	$(NULL)
dvander@28
    48
endif
dvander@28
    49
ifeq ("linux", $(PLATFORM))
dvander@28
    50
CPPSRCS += \
dvander@28
    51
	Platform-Posix.cpp         \
dvander@28
    52
	$(NULL)
dvander@28
    53
endif
dvander@28
    54
dvander@28
    55
default: all
dvander@28
    56
dvander@28
    57
OBJECTS := $(CPPSRCS:%.cpp=%.o)
dvander@28
    58
dvander@28
    59
ifeq ($(CXXVENDOR), microsoft)
dvander@28
    60
dvander@28
    61
CXXFLAGS += /DWIN32 /D_WINDOWS
dvander@28
    62
dvander@28
    63
%.o: %.cpp
dvander@28
    64
	$(CXX) $(CXXFLAGS) /Fo$@ /c /TP /nologo $<
dvander@28
    65
else
dvander@28
    66
dvander@28
    67
%.o: %.cpp
dvander@28
    68
	$(CXX) $(BASECXXFLAGS) $(CXXFLAGS) -c -o $@ -Wp,-MD,.deps/$(patsubst %.o,%.d,$@) $<
dvander@28
    69
dvander@28
    70
endif
dvander@28
    71
dvander@28
    72
#$(CXX) $(BASECXXFLAGS) $(CXXFLAGS) -c -o $@ -Wp,-MD,.deps/$(basename $(@F)).pp $<
dvander@28
    73
dvander@28
    74
DEPEND_FILES := $(strip $(wildcard .deps/*.d))
dvander@28
    75
dvander@28
    76
ifneq (,$(DEPEND_FILES))
dvander@28
    77
DEPEND_RESULTS = $(shell $(TOOLS)/mddepend.pl - $(DEPEND_FILES))
dvander@28
    78
$(eval $(DEPEND_RESULTS))
dvander@28
    79
endif
dvander@28
    80
dvander@28
    81
all: foobar
dvander@28
    82
dvander@28
    83
foobar: libfoobar.a main.o
dvander@28
    84
	$(CXX) main.o libfoobar.a -lpthread -o foobar
dvander@28
    85
dvander@28
    86
libfoobar.a: $(OBJECTS)
dvander@28
    87
	$(AR) -crs libfoobar.a $(OBJECTS)
dvander@28
    88
dvander@28
    89
FORCE:
dvander@28
    90
dvander@28
    91
clean:
dvander@28
    92
	rm -f .deps/*.d
dvander@28
    93
	rm -f *.o
dvander@28
    94
	rm -f libfoobar.a
dvander@28
    95
	rm -f foobar
dvander@28
    96