You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.0 KiB
Makefile
71 lines
2.0 KiB
Makefile
14 years ago
|
#===============================================================================
|
||
|
#
|
||
|
# File: Makefile
|
||
|
# Description:
|
||
|
#
|
||
|
# Usage: make (generate executable(s) )
|
||
|
# make clean (remove objects, executables, prerequisits )
|
||
|
# make tarball (generate compressed archive )
|
||
|
# make zip (generate compressed archive )
|
||
|
#
|
||
|
# Author: Dr.-Ing. Fritz Mehner
|
||
|
# Email: mehner@mfh-iserlohn.de
|
||
|
# Created:
|
||
|
#
|
||
|
#===============================================================================
|
||
|
|
||
|
|
||
|
CC = gcc
|
||
|
CCP = g++
|
||
|
CFLAGS = -c -g -Wall
|
||
|
LFLAGS = -g
|
||
|
SYS_LIBS = -lm
|
||
|
TARBALL_EXCLUDE = "*.{o,gz,zip}"
|
||
|
ZIP_EXCLUDE = *.o *.gz *.zip
|
||
|
|
||
|
TARGETS = target_1 target_2
|
||
|
|
||
|
#---------- targets --------------------------------------
|
||
|
all: $(TARGETS)
|
||
|
|
||
|
%.o: %.c
|
||
|
$(CC) $(CFLAGS) $*.c
|
||
|
|
||
|
%.o: %.cc
|
||
|
$(CCP) $(CFLAGS) $*.cc
|
||
|
|
||
|
#---------- target 1 -------------------------------------
|
||
|
# C target
|
||
|
target_1: target_1.o
|
||
|
$(CC) $(LFLAGS) -o $@ $@.o $(SYS_LIBS)
|
||
|
|
||
|
#---------- target 2 -------------------------------------
|
||
|
# C++ target
|
||
|
target_2: target_2.o
|
||
|
$(CCP) $(LFLAGS) -o $@ $@.o $(SYS_LIBS)
|
||
|
|
||
|
|
||
|
#---------- target 3 -------------------------------------
|
||
|
|
||
|
|
||
|
|
||
|
#---------- tarball --------------------------------------
|
||
|
tarball:
|
||
|
lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \
|
||
|
rm --force $$lokaldir.tar.gz; \
|
||
|
tar --exclude=$(TARBALL_EXCLUDE) \
|
||
|
--create \
|
||
|
--gzip \
|
||
|
--verbose \
|
||
|
--file $$lokaldir.tar.gz *
|
||
|
|
||
|
#---------- zip ------------------------------------------
|
||
|
zip:
|
||
|
lokaldir=`pwd`; lokaldir=$${lokaldir##*/}; \
|
||
|
zip -r $$lokaldir.zip * -x $(ZIP_EXCLUDE)
|
||
|
|
||
|
#---------- clear up -------------------------------------
|
||
|
clean:
|
||
|
rm --force $(EXECUTABLE) $(OBJECTS) $(PREREQUISITES)
|
||
|
|