[go: up one dir, main page]

File: Makefile.unix

package info (click to toggle)
ancient 2.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,168 kB
  • sloc: cpp: 15,188; makefile: 217; sh: 31
file content (64 lines) | stat: -rw-r--r-- 2,369 bytes parent folder | download
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Copyright (C) Teemu Suutari

VPATH  := src src/common fuzzing testing

CXX	?= c++
COMMONFLAGS = -Os -Wall -Wsign-compare -Wnarrowing -Isrc -Iapi -Iapi/ancient
CFLAGS	= $(COMMONFLAGS)
CXXFLAGS = $(COMMONFLAGS) -std=c++17 -fno-rtti -fvisibility=hidden -DANCIENT_API_VISIBILITY_DEFAULT $(EXTRA_CFLAGS)

LIBNAME = ancient.dylib
PROG	= obj/ancient
MAIN_N	?= main.o
OBJS_N	= API.o Buffer.o Common.o MemoryBuffer.o StaticBuffer.o SubBuffer.o WrappedVectorBuffer.o CRC16.o CRC32.o \
	Decompressor.o LZWDecoder.o XPKDecompressor.o XPKMain.o \
	OutputStream.o InputStream.o RangeDecoder.o \
	ACCADecompressor.o ARTMDecompressor.o BLZWDecompressor.o BZIP2Decompressor.o \
	CBR0Decompressor.o CompactDecompressor.o CompressDecompressor.o CRMDecompressor.o CYB2Decoder.o \
	DEFLATEDecompressor.o DLTADecode.o DMSDecompressor.o FASTDecompressor.o \
	FBR2Decompressor.o FreezeDecompressor.o FRLEDecompressor.o HFMNDecompressor.o \
	HUFFDecompressor.o ILZRDecompressor.o IMPDecompressor.o LHLBDecompressor.o \
	LIN1Decompressor.o LIN2Decompressor.o LOBDecompressor.o LZBSDecompressor.o \
	LZCBDecompressor.o LZW2Decompressor.o LZW4Decompressor.o LZW5Decompressor.o \
	LZXDecompressor.o MASHDecompressor.o MMCMPDecompressor.o NONEDecompressor.o \
	NUKEDecompressor.o PackDecompressor.o PPDecompressor.o PPMQDecompressor.o RAKEDecompressor.o \
	RDCNDecompressor.o RLENDecompressor.o RNCDecompressor.o SCOCompressDecompressor.o \
	SDHCDecompressor.o SHRXDecompressor.o SLZ3Decompressor.o SMPLDecompressor.o \
	StoneCrackerDecompressor.o SQSHDecompressor.o SXSCDecompressor.o TDCSDecompressor.o \
	TPWMDecompressor.o VicXDecompressor.o XPKUnimplemented.o ZENODecompressor.o
TEST_N	= test.o
TESTBIN = obj/test

LIB	= $(addprefix obj/,$(LIBNAME))
OBJS	= $(addprefix obj/,$(OBJS_N))
MAIN	= $(addprefix obj/,$(MAIN_N))
TEST	= $(addprefix obj/,$(TEST_N))


all: $(PROG) $(TESTBIN)

obj:
	mkdir -p obj

obj/%.o: %.cpp | obj
	$(CXX) $(CXXFLAGS) -o $@ -c $<

ifeq ($(BUILD_LIBRARY),1)
$(LIB): $(OBJS)
	$(CXX) -Wl,-dylib -Wl,-install_name,@executable_path/$(LIBNAME) -shared -o $@ $^
	strip -X $@

$(PROG): $(MAIN) $(LIB) | obj
	$(CXX) $(CFLAGS) -o $@ $(MAIN) $(LIB)
else
$(PROG): $(MAIN) $(OBJS) | obj
	$(CXX) $(CFLAGS) -o $@ $(MAIN) $(OBJS)
endif

$(TESTBIN): $(OBJS) $(TEST) | obj
	$(CXX) $(CFLAGS) -o $@ $^

clean:
	rm -f $(OBJS) $(MAIN) $(PROG) $(LIB) $(TEST) $(TEST_BIN) *~ src/*~

.PHONY: