Makefile
author Markus Bröker <mbroeker@largo.dyndns.tv>
Thu, 16 Apr 2009 12:49:13 +0200
changeset 64 993b97c4ad2d
parent 62 b7061c0e239f
child 66 2b4f786d9073
permissions -rw-r--r--
FORK ERROR in prog_limit and mem2swap: execve overrides the current PID committer: Markus Bröker <mbroeker@largo.homelinux.org>

CC=gcc -g -ggdb
CPP=g++ -g -ggdb
CFLAGS=-Wall -O2 -Iinclude -ansi
TARGET=ncurses \
	numerierung \
	xdemo \
	signals \
	tree \
	utf8 \
	file_demo \
	testcase \
	atoi_print \
	data_types \
	dnsresolve \
	nomalloc \
	urandom \
	threads \
	crypt \
	tokenpasting \
	hex2chars \
	floating \
	max \
	recording \
	endian \
	fak \
	blackhole \
	folge \
	counter \
	sudoku \
	cunit \
	md5 \
	md5rec \
	myprintf \
	concatenation \
	alpha_beta \
	life \
	bad_alloc \
	lotto \
	database \
	gauss \
	mem2swap \
	prog_limit \
	connection \
	copy \
	function_pointers \
	sort \
	min2time \
	recursive_compiler \
	getpwnam_error \
	xmlparser \
	vector \
	base10 \
	files \
	fork \
	duff \
	unicode

.SUFFIXES: .c .cc .asm

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

.cc.o:
	@echo Compiling $< ...
	@$(CPP) -c $(CFLAGS) -o $@ $<

.asm.o:
	@echo Assembling $< ...
	@$(NASM) $< -o $@

all: $(TARGET)

ncurses: ncurses.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -lncursesw -o $@ $<

numerierung: numerierung.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

xdemo: xdemo.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -lX11 -o $@ $<

signals: signals.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

tree: tree.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

utf8: utf8.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

file_demo: file_demo.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

testcase: testcase.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

atoi_print: atoi_print.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

data_types: data_types.c
	@echo Compiling $< ...
	@$(CC) $(CFLAGS) -std=c99 -o $@ $<

dnsresolve: dnsresolve.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

nomalloc: nomalloc.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

urandom: urandom.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

threads: threads.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $< -lpthread

crypt: crypt.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $< -lcrypt

tokenpasting: tokenpasting.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

hex2chars: hex2chars.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $< -lm

floating: floating.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $< -lm

max: max.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

recording: recording.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

endian: endian.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

fak: fak.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

blackhole: blackhole.c
	@echo Compiling AND Linking $< WITH -O0 ...
	@$(CC) $(CFLAGS) -O0 -o $@ $<

folge: folge.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $< -lm

counter: counter.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

sudoku: sudoku.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $<

cunit: cunit.o
	@echo Linking $< ...
	@$(CC) $(CFLAGS) -o $@ $< -lcunit

md5: md5.o
	@echo Linking $< ...
	@$(CC) -o $@ $< -lssl

md5rec: md5rec.o
	@echo Linking $< ...
	@$(CC) -o $@ $< -llsf

myprintf: myprintf.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

concatenation: concatenation.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

alpha_beta: alpha_beta.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

life: life.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

bad_alloc: bad_alloc.o
	@echo Linking $< ...
	@$(CPP) -o $@ $<

lotto: lotto.o
	@echo Linking $< ...
	@$(CPP) -o $@ $<

mem2swap: mem2swap.o set_limit.o
	@echo Linking $< ...
	@$(CPP) -o $@ mem2swap.o set_limit.o

prog_limit: prog_limit.o set_limit.o
	@echo Linking $< ...
	@$(CPP) -o $@ prog_limit.o set_limit.o

database: database.c
	@echo Compiling $< ...
	@$(CC) -c -I$(shell pg_config --includedir) $<
	@echo Linking $< ...
	@$(CC) -lpq -o $@ $@.o

gauss: gauss.o
	@echo Linking $< ...
	@$(CPP) -o $@ $<

connection: connection.o
	@echo Linking $< ...
	@$(CPP) -o $@ $<

copy: copy.o
	@echo Linking $< ...
	@$(CPP) -o $@ $<

function_pointers: function_pointers.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

sort: sort.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

min2time: min2time.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

recursive_compiler: recursive_compiler.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

getpwnam_error: getpwnam_error.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

xmlparser: xmlparser.o
	@echo Linking $< ...
	@$(CC) -o $@ $< -lexpat

vector: vector.o
	@echo Linking $< ...
	@$(CPP) -o $@ $<

base10: base10.o
	@echo Linking $< ...
	@$(CC) -lm -o $@ $<

files: files.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

fork: fork.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

duff: duff.o
	@echo Linking $< ...
	@$(CC) -o $@ $<

unicode: unicode.c
	@echo Compiling $<...
	@$(CC) -c $(CFLAGS) -std=c99 $<
	@echo Linking $< ...
	@$(CC) -std=c99 -o $@ $<

.PHONY: clean uninstall

clean:
	find -name '*~' -exec rm -f {} \;
	find -name '*.[oa]' -exec rm -f {} \;
	rm -f $(TARGET)

beauty:
	find -name '*.[ch]' -exec indent {} \;
	find -name '*.[ch]' -exec eraser {} \;
	@make clean