xref: /aosp_15_r20/external/lz4/contrib/djgpp/Makefile (revision 27162e4e17433d5aa7cb38e7b6a433a09405fc7f)
1*27162e4eSAndroid Build Coastguard Worker# Copyright (c) 2015, Louis P. Santillan <[email protected]>
2*27162e4eSAndroid Build Coastguard Worker# All rights reserved.
3*27162e4eSAndroid Build Coastguard Worker# See LICENSE for licensing details.
4*27162e4eSAndroid Build Coastguard WorkerDESTDIR ?= /opt/local
5*27162e4eSAndroid Build Coastguard Worker
6*27162e4eSAndroid Build Coastguard Worker# Pulled the code below from lib/Makefile.  Might be nicer to derive this somehow without sed
7*27162e4eSAndroid Build Coastguard Worker# Version numbers
8*27162e4eSAndroid Build Coastguard WorkerVERSION ?= 129
9*27162e4eSAndroid Build Coastguard WorkerRELEASE ?= r$(VERSION)
10*27162e4eSAndroid Build Coastguard WorkerLIBVER_MAJOR=$(shell sed -n '/define[[:blank:]][[:blank:]]*LZ4_VERSION_MAJOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < lib/lz4.h)
11*27162e4eSAndroid Build Coastguard WorkerLIBVER_MINOR=$(shell sed -n '/define[[:blank:]][[:blank:]]*LZ4_VERSION_MINOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < lib/lz4.h)
12*27162e4eSAndroid Build Coastguard WorkerLIBVER_PATCH=$(shell sed -n '/define[[:blank:]][[:blank:]]*LZ4_VERSION_RELEASE/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < lib/lz4.h)
13*27162e4eSAndroid Build Coastguard WorkerLIBVER=$(LIBVER_MAJOR).$(LIBVER_MINOR).$(LIBVER_PATCH)
14*27162e4eSAndroid Build Coastguard Worker
15*27162e4eSAndroid Build Coastguard Worker######################################################################
16*27162e4eSAndroid Build Coastguard Worker
17*27162e4eSAndroid Build Coastguard WorkerCROSS ?= i586-pc-msdosdjgpp
18*27162e4eSAndroid Build Coastguard WorkerCC = $(CROSS)-gcc
19*27162e4eSAndroid Build Coastguard WorkerAR = $(CROSS)-ar
20*27162e4eSAndroid Build Coastguard WorkerLD = $(CROSS)-gcc
21*27162e4eSAndroid Build Coastguard Worker
22*27162e4eSAndroid Build Coastguard WorkerCFLAGS ?= -O3 -std=gnu99 -Wall -Wextra -Wundef -Wshadow -Wcast-qual -Wcast-align -Wstrict-prototypes -Wpedantic -DLZ4_VERSION=\"$(RELEASE)\"
23*27162e4eSAndroid Build Coastguard WorkerLDFLAGS ?= -s
24*27162e4eSAndroid Build Coastguard WorkerSRC = programs/bench.c programs/lz4io.c programs/lz4cli.c
25*27162e4eSAndroid Build Coastguard WorkerOBJ = $(SRC:.c=.o)
26*27162e4eSAndroid Build Coastguard WorkerSDEPS = $(SRC:.c=.d)
27*27162e4eSAndroid Build Coastguard WorkerIDIR = lib
28*27162e4eSAndroid Build Coastguard WorkerEDIR = .
29*27162e4eSAndroid Build Coastguard WorkerEXE = lz4.exe
30*27162e4eSAndroid Build Coastguard WorkerLNK = lz4
31*27162e4eSAndroid Build Coastguard WorkerLDIR = lib
32*27162e4eSAndroid Build Coastguard WorkerLSRC = lib/lz4.c lib/lz4hc.c lib/lz4frame.c lib/xxhash.c
33*27162e4eSAndroid Build Coastguard WorkerINC = $(LSRC:.c=.h)
34*27162e4eSAndroid Build Coastguard WorkerLOBJ = $(LSRC:.c=.o)
35*27162e4eSAndroid Build Coastguard WorkerLSDEPS = $(LSRC:.c=.d)
36*27162e4eSAndroid Build Coastguard WorkerLIB = $(LDIR)/lib$(LNK).a
37*27162e4eSAndroid Build Coastguard Worker
38*27162e4eSAndroid Build Coastguard Worker# Since LDFLAGS defaults to "-s", probably better to override unless
39*27162e4eSAndroid Build Coastguard Worker# you have a default you would like to maintain
40*27162e4eSAndroid Build Coastguard Workerifeq ($(WITH_DEBUG), 1)
41*27162e4eSAndroid Build Coastguard Worker	CFLAGS += -g
42*27162e4eSAndroid Build Coastguard Worker	LDFLAGS += -g
43*27162e4eSAndroid Build Coastguard Workerendif
44*27162e4eSAndroid Build Coastguard Worker
45*27162e4eSAndroid Build Coastguard Worker# Since LDFLAGS defaults to "-s", probably better to override unless
46*27162e4eSAndroid Build Coastguard Worker# you have a default you would like to maintain
47*27162e4eSAndroid Build Coastguard Workerifeq ($(WITH_PROFILING), 1)
48*27162e4eSAndroid Build Coastguard Worker	CFLAGS += -pg
49*27162e4eSAndroid Build Coastguard Worker	LDFLAGS += -pg
50*27162e4eSAndroid Build Coastguard Workerendif
51*27162e4eSAndroid Build Coastguard Worker
52*27162e4eSAndroid Build Coastguard Worker%.o: %.c $(INC) Makefile
53*27162e4eSAndroid Build Coastguard Worker	$(CC) $(CFLAGS) -MMD -MP -I$(IDIR) -c $< -o $@
54*27162e4eSAndroid Build Coastguard Worker
55*27162e4eSAndroid Build Coastguard Worker%.exe: %.o $(LIB) Makefile
56*27162e4eSAndroid Build Coastguard Worker	$(LD) $< -L$(LDIR) -l$(LNK) $(LDFLAGS) $(LIBDEP) -o $@
57*27162e4eSAndroid Build Coastguard Worker
58*27162e4eSAndroid Build Coastguard Worker######################################################################
59*27162e4eSAndroid Build Coastguard Worker######################## DO NOT MODIFY BELOW #########################
60*27162e4eSAndroid Build Coastguard Worker######################################################################
61*27162e4eSAndroid Build Coastguard Worker
62*27162e4eSAndroid Build Coastguard Worker.PHONY: all install uninstall showconfig gstat gpush
63*27162e4eSAndroid Build Coastguard Worker
64*27162e4eSAndroid Build Coastguard Workerall: $(LIB) $(EXE)
65*27162e4eSAndroid Build Coastguard Worker
66*27162e4eSAndroid Build Coastguard Worker$(LIB): $(LOBJ)
67*27162e4eSAndroid Build Coastguard Worker	$(AR) -rcs $@ $^
68*27162e4eSAndroid Build Coastguard Worker
69*27162e4eSAndroid Build Coastguard Worker$(EXE): $(LOBJ) $(OBJ)
70*27162e4eSAndroid Build Coastguard Worker	$(LD) $(LDFLAGS) $(LOBJ) $(OBJ) -o $(EDIR)/$@
71*27162e4eSAndroid Build Coastguard Worker
72*27162e4eSAndroid Build Coastguard Workerclean:
73*27162e4eSAndroid Build Coastguard Worker	rm -f $(OBJ) $(EXE) $(LOBJ) $(LIB) *.tmp $(SDEPS) $(LSDEPS) $(TSDEPS)
74*27162e4eSAndroid Build Coastguard Worker
75*27162e4eSAndroid Build Coastguard Workerinstall: $(INC) $(LIB) $(EXE)
76*27162e4eSAndroid Build Coastguard Worker	mkdir -p $(DESTDIR)/bin $(DESTDIR)/include $(DESTDIR)/lib
77*27162e4eSAndroid Build Coastguard Worker	rm -f .footprint
78*27162e4eSAndroid Build Coastguard Worker	echo $(DESTDIR)/bin/$(EXE) >> .footprint
79*27162e4eSAndroid Build Coastguard Worker	cp -v $(EXE) $(DESTDIR)/bin/
80*27162e4eSAndroid Build Coastguard Worker	@for T in $(LIB); \
81*27162e4eSAndroid Build Coastguard Worker	do ( \
82*27162e4eSAndroid Build Coastguard Worker		echo $(DESTDIR)/$$T >> .footprint; \
83*27162e4eSAndroid Build Coastguard Worker		cp -v --parents $$T $(DESTDIR) \
84*27162e4eSAndroid Build Coastguard Worker	); done
85*27162e4eSAndroid Build Coastguard Worker	@for T in $(INC); \
86*27162e4eSAndroid Build Coastguard Worker	do ( \
87*27162e4eSAndroid Build Coastguard Worker		echo $(DESTDIR)/include/`basename -a $$T` >> .footprint; \
88*27162e4eSAndroid Build Coastguard Worker		cp -v $$T $(DESTDIR)/include/ \
89*27162e4eSAndroid Build Coastguard Worker	); done
90*27162e4eSAndroid Build Coastguard Worker
91*27162e4eSAndroid Build Coastguard Workeruninstall: .footprint
92*27162e4eSAndroid Build Coastguard Worker	@for T in $(shell cat .footprint); do rm -v $$T; done
93*27162e4eSAndroid Build Coastguard Worker
94*27162e4eSAndroid Build Coastguard Worker-include $(SDEPS) $(LSDEPS)
95*27162e4eSAndroid Build Coastguard Worker
96*27162e4eSAndroid Build Coastguard Workershowconfig:
97*27162e4eSAndroid Build Coastguard Worker	@echo "PWD="$(PWD)
98*27162e4eSAndroid Build Coastguard Worker	@echo "VERSION="$(VERSION)
99*27162e4eSAndroid Build Coastguard Worker	@echo "RELEASE="$(RELEASE)
100*27162e4eSAndroid Build Coastguard Worker	@echo "LIBVER_MAJOR="$(LIBVER_MAJOR)
101*27162e4eSAndroid Build Coastguard Worker	@echo "LIBVER_MINOR="$(LIBVER_MINOR)
102*27162e4eSAndroid Build Coastguard Worker	@echo "LIBVER_PATCH="$(LIBVER_PATCH)
103*27162e4eSAndroid Build Coastguard Worker	@echo "LIBVER="$(LIBVER)
104*27162e4eSAndroid Build Coastguard Worker	@echo "CROSS="$(CROSS)
105*27162e4eSAndroid Build Coastguard Worker	@echo "CC="$(CC)
106*27162e4eSAndroid Build Coastguard Worker	@echo "AR="$(AR)
107*27162e4eSAndroid Build Coastguard Worker	@echo "LD="$(LD)
108*27162e4eSAndroid Build Coastguard Worker	@echo "DESTDIR="$(DESTDIR)
109*27162e4eSAndroid Build Coastguard Worker	@echo "CFLAGS="$(CFLAGS)
110*27162e4eSAndroid Build Coastguard Worker	@echo "LDFLAGS="$(LDFLAGS)
111*27162e4eSAndroid Build Coastguard Worker	@echo "SRC="$(SRC)
112*27162e4eSAndroid Build Coastguard Worker	@echo "OBJ="$(OBJ)
113*27162e4eSAndroid Build Coastguard Worker	@echo "IDIR="$(IDIR)
114*27162e4eSAndroid Build Coastguard Worker	@echo "INC="$(INC)
115*27162e4eSAndroid Build Coastguard Worker	@echo "EDIR="$(EDIR)
116*27162e4eSAndroid Build Coastguard Worker	@echo "EXE="$(EXE)
117*27162e4eSAndroid Build Coastguard Worker	@echo "LDIR="$(LDIR)
118*27162e4eSAndroid Build Coastguard Worker	@echo "LSRC="$(LSRC)
119*27162e4eSAndroid Build Coastguard Worker	@echo "LOBJ="$(LOBJ)
120*27162e4eSAndroid Build Coastguard Worker	@echo "LNK="$(LNK)
121*27162e4eSAndroid Build Coastguard Worker	@echo "LIB="$(LIB)
122*27162e4eSAndroid Build Coastguard Worker	@echo "SDEPS="$(SDEPS)
123*27162e4eSAndroid Build Coastguard Worker	@echo "LSDEPS="$(LSDEPS)
124*27162e4eSAndroid Build Coastguard Worker
125*27162e4eSAndroid Build Coastguard Workergstat:
126*27162e4eSAndroid Build Coastguard Worker	git status
127*27162e4eSAndroid Build Coastguard Worker
128*27162e4eSAndroid Build Coastguard Workergpush:
129*27162e4eSAndroid Build Coastguard Worker	git commit
130*27162e4eSAndroid Build Coastguard Worker	git push
131