summaryrefslogtreecommitdiff
path: root/makefile
blob: 56be14236ca1d00704358555d5ef2744857712dc (plain)
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
#
# This file is part of Pencil
# Licensed under the MIT License,
#                http://www.opensource.org/licenses/mit-license
# Copyright 2005 James Bursa <james@semichrome.net>
#

SOURCE = pencil_build.c pencil_save.c
HDRS =  pencil.h pencil_internal.h

GCCSDK_INSTALL_CROSSBIN ?= /home/riscos/cross/bin
GCCSDK_INSTALL_ENV ?= /home/riscos/env

ifeq (${AB_ELFBUILD},yes)
EXEEXT=,e1f
else
EXEEXT=,ff8
endif

.PHONY: all install clean

ifeq (${AB_ELFBUILD},yes)
CC = $(GCCSDK_INSTALL_CROSSBIN)/arm-unknown-riscos-gcc
AR = $(GCCSDK_INSTALL_CROSSBIN)/arm-unknown-riscos-ar
else
CC = $(GCCSDK_INSTALL_CROSSBIN)/gcc
AR = $(GCCSDK_INSTALL_CROSSBIN)/ar
endif
CFLAGS = -std=c99 -O3 -W -Wall -Wundef -Wpointer-arith -Wcast-qual \
	-Wcast-align -Wwrite-strings -Wstrict-prototypes \
	-Wmissing-prototypes -Wmissing-declarations \
	-Wnested-externs -Winline -Wno-cast-align \
	-mpoke-function-name -I$(GCCSDK_INSTALL_ENV)/include
ARFLAGS = cr
LIBS = -L$(GCCSDK_INSTALL_ENV)/lib -lOSLib32 -lrufl
INSTALL = $(GCCSDK_INSTALL_ENV)/ro-install

OBJS = $(SOURCE:.c=.o)

all: libpencil.a pencil_test$(EXEEXT)

libpencil.a: $(OBJS)
	$(AR) $(ARFLAGS) $@ $(OBJS)

pencil_test$(EXEEXT): pencil_test.c libpencil.a
	$(CC) $(CFLAGS) $(LIBS) -o $@ $^

install: libpencil.a
	$(INSTALL) libpencil.a $(GCCSDK_INSTALL_ENV)/lib/libpencil.a
	$(INSTALL) pencil.h $(GCCSDK_INSTALL_ENV)/include/pencil.h

clean:
	-rm *.o libpencil.a pencil_test$(EXEEXT)

.c.o: $(HDRS)
	$(CC) $(CFLAGS) -c -o $@ $<