Added Executable File Format definition (sle.h)
[slvm.git] / Makefile
blob5e44870137da543e9d33afd434e9806dd95d859f
1 # Makefile - Main build makefile for SLVM
3 # Copyright (c) 2012 Peter Polacik <polacik.p@gmail.com>
5 # Permission is hereby granted, free of charge, to any person obtaining a
6 # copy of this software and associated documentation files (the "Software"),
7 # to deal in the Software without restriction, including without limitation
8 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 # and/or sell copies of the Software, and to permit persons to whom the
10 # Software is furnished to do so, subject to the following conditions:
12 # The above copyright notice and this permission notice shall be included in
13 # all copies or substantial portions of the Software.
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 # DEALINGS IN THE SOFTWARE.
23 NAME = slvm
25 # Major version
26 V_MAJ = 0
27 # Minor version
28 V_MIN = 0
29 # Release version
30 V_REL = 1
31 # Additional version
32 V_ADD = dev
33 # Build number
34 V_BUILD = 1
36 VERSION = $(V_MAJ).$(V_MIN)
37 VERSION_LONG = $(VERSION).$(V_REL)
38 VERSION_FULL = $(VERSION_LONG)-$(V_ADD)$(V_BUILD)
40 # Directories
41 PREFIX ?= /usr/local
42 BINDIR = $(PREFIX)/bin
43 DOCDIR = $(PREFIX)/share/doc/$(NAME)
44 LIBDIR = $(PREFIX)/lib
46 ## BUILD SETTINGS
48 CC ?= gcc
49 CFLAGS += -c -std=gnu99 -W -Wall -Wextra -Wno-unused-value $(CDEBUG)
50 LDFLAGS += $(LDEBUG)
52 OUTFILE ?= $(NAME)
53 OBJS = slvm.o stack.o
55 .PHONY: all
57 all: $(OUTFILE) $(OBJS)
59 $(OUTFILE): $(OBJS)
60 $(CC) -o $@ $(LDFLAGS) $(OBJS)
62 .c.o:
63 $(CC) $(CFLAGS) $<
65 debug:
66 make CDEBUG="-DDEBUG -g" LDEBUG="-g"
68 clean:
69 rm -f *.o
70 rm -f $(OUTFILE)
71 rm -f *.log *.debug
73 install: $(OUTFILE)
74 install -m 0755 $(OUTFILE) $(BINDIR)
76 uninstall: $(OUTFILE)
77 rm -f $(BINDIR)/$(OUTFILE)