1#
2# safe_iop - Makefile
3#
4# Author:: Will Drewry <redpig@dataspill.org>
5# Copyright 2007,2008 redpig@dataspill.org
6# Copyright 2008-2021 Chris Hutchinson <portmaster_AT_BSDforge.com>
7# Some portions copyright 2008 Google Inc.
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
11# OF ANY KIND, either express or implied.
12#
13
14#CC = gcc
15#VERSION = 0.3
16VERSION = 0
17TESTNAME = safe_iop_test
18# For sparc64, _only_ use -O1 or -O0
19#CFLAGS   = -Wall -O2 -Iinclude
20CFLAGS   += -Iinclude
21SOURCES = src/safe_iop.c
22
23all: $(TESTNAME)
24
25# This may be built as a library or directly included in source.
26# Unless support for safe_iopf is needed, header inclusion is enough.
27$(TESTNAME): src/safe_iop.c include/safe_iop.h
28	$(CC) $(CFLAGS) -DNDEBUG=1 -DSAFE_IOP_TEST=1 $(SOURCES) -o $@
29
30askme: examples/askme.c include/safe_iop.h
31	$(CC) $(CFLAGS) examples/askme.c -o $@
32
33so: src/safe_iop.c include/safe_iop.h
34	$(CC) -shared -Wl,-soname,libsafe_iop.so.$(VERSION) $(CFLAGS) $(SOURCES) -o libsafe_iop.so.$(VERSION)
35
36dylib: src/safe_iop.c include/safe_iop.h
37	$(CC) -dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,$(VERSION),-current_version,$(VERSION),-install_name,/usr/local/lib/libsafe_iop.$(VERSION).dylib $(CFLAGS) $(SOURCES) -o libsafe_iop.$(VERSION).dylib
38
39test: $(TESTNAME)
40	@./$(TESTNAME)
41	@rm $(TESTNAME)
42
43clean:
44	rm $(TESTNAME)
45