Skip to content

Commit

Permalink
Provide GNU-style build system
Browse files Browse the repository at this point in the history
  • Loading branch information
ismaell committed May 26, 2015
1 parent 0ec1a0d commit b80cb95
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 0 deletions.
5 changes: 5 additions & 0 deletions GNUmakefile
@@ -0,0 +1,5 @@
srcdir := $(dir $(shell readlink -f \
$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))))v0100
VPATH = $(srcdir) $(srcdir)/srclib
export PATH := $(CURDIR):$(PATH)
include $(srcdir)/../common.mk
5 changes: 5 additions & 0 deletions Makefile
@@ -0,0 +1,5 @@
srcdir != readlink -f $(.PARSEDIR)/$(.PARSEFILE) | sed 's@[^/]*$$@v0100@'
.PATH: $(srcdir) $(srcdir)/srclib
PATH := $(.CURDIR):$(PATH)
.export PATH
.include "$(srcdir)/../common.mk"
37 changes: 37 additions & 0 deletions common.mk
@@ -0,0 +1,37 @@
prefix = /usr/local
bindir = $(prefix)/bin
libdir = $(prefix)/smlrc/lib
incdir = $(prefix)/smlrc/include

CFLAGS = -pipe -Wall -O2
CFLAGS += -DHOST_LINUX

CC = gcc

bins = smlrc smlrl smlrcc
libs = lcdh.a lcds.a lcw.a lcl.a

all: $(libs)

$(libs): $(bins)

install: $(libs)
install -d $(DESTDIR)$(bindir) $(DESTDIR)$(libdir)
install $(bins) $(DESTDIR)$(bindir)
install -m644 $(libs) $(DESTDIR)$(libdir)
install -d $(DESTDIR)$(incdir)
cp -L -R $(srcdir)/include/* $(DESTDIR)$(incdir)

clean:
rm -f $(bins) $(libs) $(libs:.a=.op)

.SUFFIXES: .op .txt

.op.a:
./smlrcc -SI $(srcdir)/include -I $(srcdir)/srclib @$<

.txt.op:
awk -vl=$(srcdir)/srclib/ '/[.](c|asm)$$/{$$0=l$$0}{print}' $< > $@

all install clean: FORCE
FORCE:
7 changes: 7 additions & 0 deletions configure
@@ -0,0 +1,7 @@
#!/bin/sh -e
lnk() {
test -e "$2" || ln -s "$1/$2" "$2"
}
srcdir=`readlink -f $0 | sed 's@/[^/]*$@@'`
lnk "$srcdir" Makefile
lnk "$srcdir" GNUmakefile

0 comments on commit b80cb95

Please sign in to comment.