Compare commits
2 Commits
ea9cb1f846
...
d4b5c737e5
Author | SHA1 | Date | |
---|---|---|---|
d4b5c737e5 | |||
5381d5f0ce |
3
lcthw/.ex10.argv
Normal file
3
lcthw/.ex10.argv
Normal file
@ -0,0 +1,3 @@
|
||||
carrot
|
||||
angelfood
|
||||
yellow
|
5
lcthw/.ex13.argv
Normal file
5
lcthw/.ex13.argv
Normal file
@ -0,0 +1,5 @@
|
||||
garble
|
||||
geckle
|
||||
gimple
|
||||
gorble
|
||||
gunkle
|
1
lcthw/.gitignore
vendored
1
lcthw/.gitignore
vendored
@ -6,3 +6,4 @@ ex9
|
||||
ex10
|
||||
ex11
|
||||
ex12
|
||||
ex13
|
||||
|
@ -1,11 +1,14 @@
|
||||
CFLAGS ?= -Wall -g
|
||||
GDBRUN = gdb --batch --ex run --ex bt --ex q --args
|
||||
BUILD_TARGETS = ex1 ex3 ex7 ex8 ex9 ex10 ex11 ex12
|
||||
TEST_TARGETS = ex1 ex3 ex7 ex8 ex9 ex11 ex12
|
||||
BUILD_TARGETS = $(foreach ex,$(wildcard ex*.c),$(subst .c,,$(ex)))
|
||||
|
||||
.PHONY: all
|
||||
all: build test
|
||||
|
||||
.PHONY: echo
|
||||
echo:
|
||||
@echo BUILD_TARGETS=$(BUILD_TARGETS)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f $(BUILD_TARGETS)
|
||||
@ -15,16 +18,18 @@ build: $(BUILD_TARGETS)
|
||||
|
||||
.PHONY: gtest
|
||||
gtest:
|
||||
@$(foreach bt, $(TEST_TARGETS), make .gtest.$(bt) &&) \
|
||||
@$(foreach bt, $(BUILD_TARGETS), make .gtest.$(bt) &&) \
|
||||
printf '\ngYAY\n'
|
||||
|
||||
.gtest.%:
|
||||
@test_argv=$$(cat .$*.argv 2>/dev/null || echo) && \
|
||||
printf '\n==> %s\n' "$*" && $(GDBRUN) ./$*
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
@$(foreach bt, $(TEST_TARGETS), make .test.$(bt) &&) \
|
||||
@$(foreach bt, $(BUILD_TARGETS), make .test.$(bt) &&) \
|
||||
printf '\nYAY\n'
|
||||
|
||||
.test.%:
|
||||
printf '\n==> %s\n' "$*" && ./$*
|
||||
@test_argv=$$(cat .$*.argv 2>/dev/null || echo) && \
|
||||
printf '\n==> %s\n' "$*" && ./$* $$test_argv
|
||||
|
26
lcthw/ex13.c
Normal file
26
lcthw/ex13.c
Normal file
@ -0,0 +1,26 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int i = 0;
|
||||
// go through each string in argv
|
||||
// why am I skipping argv[0]?
|
||||
for (i = 1; i < argc; i++) {
|
||||
printf("arg %d: %s\n", i, argv[i]);
|
||||
}
|
||||
|
||||
// let's make our own array of strings
|
||||
char *states[] = {
|
||||
"California",
|
||||
"Oregon",
|
||||
"Washington",
|
||||
"Texas",
|
||||
NULL,
|
||||
};
|
||||
|
||||
for (i = 0; states[i] != NULL; i++) {
|
||||
printf("state %d: %s\n", i, states[i]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user