-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
43 lines (35 loc) · 861 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
CXXFLAGS = -Wall -O2 -fno-exceptions -fno-rtti
ifneq ($(findstring mingw,$(MAKE_HOST)),)
CXX = g++.exe
CXXFLAGS += -DMINGW
LDFLAGS = -static
EXTENSION = .exe
RM = del /q
else
ifneq ($(ISMINGW),)
CXX = x86_64-w64-mingw32-g++
CXXFLAGS += -DMINGW
LDFLAGS = -static
EXTENSION = .exe
RM = rm -f
else
CXX = g++
CXXFLAGS += -DMAX_PATH=MAXPATHLEN
LDFLAGS =
EXTENSION =
RM = rm -f
endif
endif
TARGETS = sjasm$(EXTENSION)
OBJECTS = direct.o loose.o parser.o piz80.o reader.o sjasm.o sjio.o tables.o
HEADERS = direct.h loose.h parser.h piz80.h reader.h sjasm.h sjio.h tables.h
BINDIR = /usr/local/bin
all: $(TARGETS)
sjasm$(EXTENSION): $(OBJECTS)
$(CXX) $(LDFLAGS) -o $@ $(OBJECTS) -s
clean:
-$(RM) $(OBJECTS) $(TARGETS)
install: all
cp -f $(TARGETS) $(BINDIR)
$(OBJECTS): %.o: %.cpp $(HEADERS)
$(CXX) $(CXXFLAGS) -c -o $@ $<